我试图使用jQuery获取标签元素的for
属性。到目前为止,我的所有尝试都产生了不正确的反应。
console.log($('label'.htmlFor)); //e.fn.init.....
console.log($('label').htmlFor)); //undefined
console.log($('label.htmlFor')); //[prevObject.....]..
console.log($('label[for]'));
console.log($('label')); //same as directly above
console.log($('label[for].htmlFor')); //[prevObject.....]..
console.log($('label[for]').htmlFor)); //undefined
我知道htmlFor已定义为我可以在chromes web检查器中看到它。我做错了什么?
答案 0 :(得分:5)
您的示例不起作用,因为您要么只选择元素(并且不要检索属性值),要么尝试获取不是jQuery的有效属性的htmlFor
属性对象
要执行您需要的操作,您需要选择label
,然后使用attr()
获取for
属性,如下所示:
var forAttr = $('label[for]').attr('for');
或者,如果表单中有多个label
元素,您可以像这样循环遍历它们:
$('label[for]').each(function() {
var forAttr = $(this).attr('for');
// work with for here...
});