日期:2014-05-16  浏览次数:20366 次

如何使用JQuery给自定义属性赋值取值
本帖最后由 k858k 于 2013-05-28 15:34:35 编辑

<INPUT style="WIDTH: 100%" value='表单2' jQuery1369647167633="271">
<INPUT style="WIDTH: 100%" value='表单2' jQuery1369647167633="272">
<INPUT style="WIDTH: 100%" value='表单2' jQuery1369647167633="273">
<INPUT style="WIDTH: 100%" value='表单2' jQuery1369647167633="274">


怎么通过JQuery取得一个INPUT 自定义属性的名称和值(如jQuery1369647167633="271",分别取得jQuery1369647167633、271)
还有就是如何通过自定义属性的名称和值(如jQuery1369647167633="271",给value赋值)

PS:jQuery1369647167633指不是固定的,可能是jQueryxxxxxxxx组成的可能需要一个模糊匹配

------解决方案--------------------

<script src="http://www.coding123.net/js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function () {
        var html = $('#dv').html(), inputs = $('#dv input'), idx = 0;
        var rx = /(jQuery\d+)="(\d+)"/gi;
        while (m = rx.exec(html)) {
            alert(m[1] + '\n' + m[2]);
            inputs[idx].value += ',' + m[2];
            idx++;
        }
    });
</script>
<div id="dv">
<INPUT style="WIDTH: 100%" value='表单2' jQuery1369647167633="271">
<INPUT style="WIDTH: 100%" value='表单2' jQuery1369647167633="272">
<INPUT style="WIDTH: 100%" value='表单2' jQuery1369647167633="273">
<INPUT style="WIDTH: 100%" value='表单2' jQuery1369647167633="274">
</div>

------解决方案--------------------

$(function(){
$(':input[^jQuery\d+]').each(function(){
for(var i in this.attributes){
if(this.attributes[i].name&&!this.attributes[i].name.toLowerCase().indexOf('jquery')){
$(this).val(this.attributes[i].value);
}
}
});
});

------解决方案--------------------
引用:

$(function(){
$(':input[^jQuery\d+]').each(function(){
for(var i in this.attributes){
if(this.attributes[i].name&&!this.attributes[i].name.toLowerCase().indexOf('jquery')){
$(this).val(this.attributes[i].value);
}
}
});
});

写法很不错。
------解决方案--------------------
[attribute=value] 
[attribute!=value] 
[attribute^=value]