我正在尝试:
$('label[text="someValue"])
但是我回复了一个空集,很可能是因为文本不是属性。
是否可以通过元素的文本或内部html进行选择?
编辑: :contains("someValue)
不够严格,因为它会将someValue的任何匹配作为子字符串返回。
有没有办法枚举所有元素的属性,以便在调试/执行期间调查/询问它们?
答案 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)
有一个获取元素文本的功能:
var labelText = $('.parentClass label').html();
您要为标签添加哪些属性?您可以将变量分配给标签的属性(如果我使用标签,我通常需要for属性):
var labelAttr = $('.parentClass label').attr('for');