如何获得标签的htmlFor

时间:2016-07-29 16:18:24

标签: jquery

我试图使用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检查器中看到它。我做错了什么?

1 个答案:

答案 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...
});