我有一个html标记如下(未定义id
或class
):
<a href="#" letter="xyz">All</a>
我需要获取标签,其属性值为''xyz'
我通过以下方式成功找到了属性:
var html_tag = $("a").find('[letter="xyz"]');
但它返回一个物体。
我需要获取html标签,以便我可以将其用作:
$(html_tag).css('color','#FFFFFF');
或者如果不可能的话,建议我任何其他解决方案。
答案 0 :(得分:3)
$("a").find('[letter="xyz"]')
会找到属性值为letter="xyz"
您需要将Attribute Equals Selector [name=”value”]与锚标记
一起使用选择具有指定属性的元素,其值完全等于某个值。
使用
$('a[letter="xyz"]').css('color','#FFFFFF');
您也可以使用.filter()
将匹配元素集合减少到与选择器匹配的元素或通过函数测试。
$("a").filter('[letter="xyz"]').css('color','#FFFFFF');
答案 1 :(得分:2)
您的代码正在尝试在锚元素中找到字母attr等于xyz的元素。哪个不存在。使用.filter()
代替.find()
可以解决问题。
但是你可以简单地使用:
var html_tag = $('a[letter="xyz"]');
注意:您应该使用.data-*
属性(在HTML5中添加)来添加自定义属性,因为添加自己的属性可能会破坏元素验证并使html无效(请参阅https://stackoverflow.com/a/1735239/1719752)。
答案 2 :(得分:0)
使用以下代码
var anchorTag = $('a[letter="xyz"]');