jq模糊匹配

前端 2019-11-04

常用到的几个模糊匹配的方法

实例

<div>
    <input id="id1" type="text" name="name1" value="1" id_temp="haha"/>
    <input id="id2" type="text" name="name2" value="2"/>
    <input id="id3" type="text" name="name3" value="3" />
    <input id="id4" type="text" name="name4" value="4"/>
</div>

1、利用id获得id1的value值

var id1_value = $("#id1").val() ;
var id1_value1 = $(input:text[id='id1']).val();//获得id等于id1的text文本的值
//var id1_value1 = $(input:text[name='name1']).val();//获得name等于name1的text文本的值

2、利用attr()方法获得任意属性的值

var attr_value = $("#id1").attr("id_temp");

3、按name值的前缀进行匹配,返回一个包含input所有属性的的jq对象

$(input:text[name^='name'])

4、按name的后缀进行匹配

$(input:text[name$='name'])

5、按name是否包含某些字母进行匹配

$(input:text[name*='nam'])

例子3、4、5都是模糊匹配,返回的是一个jq的集合对象,所以需要用jq提供的方法取出所需要的值。方法如下:

.each(function(i,n){  
  //i会循环出匹配到的jq对象的个数,i从0开始
  //n是匹配到的jq对象,取值为n.id,这样就会把id的值取出来
});