从属性中获取值为“xyz”的HTML标记

时间:2015-09-16 11:15:11

标签: javascript jquery html css

我有一个html标记如下(未定义idclass):
<a href="#" letter="xyz">All</a>

我需要获取标签,其属性值为''xyz'
我通过以下方式成功找到了属性:

var html_tag = $("a").find('[letter="xyz"]');
但它返回一个物体。

我需要获取html标签,以便我可以将其用作:
$(html_tag).css('color','#FFFFFF');

或者如果不可能的话,建议我任何其他解决方案。

3 个答案:

答案 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"]');