JQuery可以通过<label>的文本选择或枚举其属性吗?</label>

时间:2011-01-26 18:15:46

标签: jquery jquery-selectors

我正在尝试:

$('label[text="someValue"])

但是我回复了一个空集,很可能是因为文本不是属性。

是否可以通过元素的文本或内部html进行选择?

编辑: :contains("someValue)不够严格,因为它会将someValue的任何匹配作为子字符串返回。

有没有办法枚举所有元素的属性,以便在调试/执行期间调查/询问它们?

3 个答案:

答案 0 :(得分:12)

您可以全部选中它们,然后使用filter

过滤到较小的子集
$('label').filter(function () {
    return $(this).text() === "someValue";
});

答案 1 :(得分:1)

测试过:

    $.each($("#form label"), function() {
        var nodes = this.attributes;
        for(var i=0; i<nodes.length; i++)
        {
          alert(nodes[i].nodeName);
         alert(nodes[i].nodeValue);
        }
    });

答案 2 :(得分:0)

有一个获取元素文本的功能:

http://api.jquery.com/html/

var labelText = $('.parentClass label').html();

您要为标签添加哪些属性?您可以将变量分配给标签的属性(如果我使用标签,我通常需要for属性):

var labelAttr = $('.parentClass label').attr('for');