【发布时间】:2012-03-14 17:48:04
【问题描述】:
我有一个使用 javascript 生成的动态 html 表。该表包含不同的控件,如文本框、具有自定义属性的下拉框。如何循环遍历此表中存在的所有控件并找到其自定义属性与某个值匹配的控件?
【问题讨论】:
-
会更容易看到你的标记,或者至少是它的一部分......
标签: javascript jquery forms jquery-selectors dom-traversal
我有一个使用 javascript 生成的动态 html 表。该表包含不同的控件,如文本框、具有自定义属性的下拉框。如何循环遍历此表中存在的所有控件并找到其自定义属性与某个值匹配的控件?
【问题讨论】:
标签: javascript jquery forms jquery-selectors dom-traversal
这将为您提供表格中的所有表单元素 (:input selector):
var $formElements = $('#tableid').find(':input');
您可以使用attribute selector 进行过滤:
//will select every form element having a data-custom attribute set to 5
var $formElements = $('#tableid').find(':input[data-custom="5"]');
请参阅jsFiddle Demo。对于我的示例,我使用了HTML5 data- attributes,但代码可以使用您需要的任何属性。
或者您可以使用filter() method 编写过滤元素的函数:
var $formElements = $('#tableid').find(':input').filter(function () {
return $(this).attr('data-custom') == '5';
});
【讨论】:
$(this).attr("data-custom") 值
演示:http://jsfiddle.net/DSqZr/1/
function getControl(_value){
$("#panel :input").each(function(){
if($(this).attr("custom") == _value){
return $(this);
}
})
}
var selectedCrl = getControl(1);
【讨论】:
您可以使用Attribute Contains Selector。
检查示例,它可能与您需要的非常接近,即找到具有某些属性值的 input 和 select 元素
【讨论】:
【讨论】: