jquery 如何选择带有自定义属性的标签?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery 如何选择带有自定义属性的标签?相关的知识,希望对你有一定的参考价值。

如题,以下为某个页面代码段:
----------------------------------------------------

<a href="#" title="更多" target="_blank">更多</a>
<a href="#" title="a6t" data="jquery很好用" target="_blank">jquery555</a>
<a href="#" title="b6e" data="php很爽" target="_blank">php666</a>
<a href="#" title="aaa" data="jsp没用过" target="_blank">jsp789</a>
<a href="#" title="7800" data="c#不知是啥" target="_blank">c#556</a>
<a href="#" title="sss" data="css这个容易" target="_blank">css888</a>
<a href="#" title="ews" data="asp这个...额,好像过时了" target="_blank">asp999</a>
<a href="#" title="教程" target="_blank">教程</a>
---------------------------------------------------
页面上有一些带有自定义属性的标签,类似代码如上,用jquery如何获取到所有带有“data”属性的标签?
---------------------------------------------------

我是想当用户鼠标放在带有data属性的链接上时,会弹出个小框来进行描述,而描述的内容就是data的值了。
---------------------------------------------------
在线等!在此先行谢过!

1、遍历a标签;

2、判断是否存在data值。

$("a").each(function()
    var _this = $(this);
    //判断data
    if(_this.attr("data"))
        _this.hover(function()
            //显示提示框
        , function()
            //隐藏提示框
        );
    
);

参考技术A $('a[data]')//就能获取所有带data属性的a标签元素,然后就可以绑小框了

/*一般元素上是加上data-aaa 这种格式的自定义属性,然后用$(element).data('aaa')来取值
 你如果直接以data作为自定义属性的话那么可以用attr来获取值,代码如下*/
var text = $('a[data]:eq(0)').attr('data');

参考技术B $("a").eq(0).attr("title");

eq(0)表示第一个,0表示索引追问

我是要找出带有data的标签哦,不是获取title哦。
而且,一个页面具体有多少个这样的标签也是未知的哦,无法用0123这样一个个去弄哦

参考技术C 你可以在这些data标签上再加一个自定义的属性,键值要加一致的,比如都加re="rea",那么jquery就可以用$("a[re='rea']")获取到所有的属性re="rea"的标签。 参考技术D $('a').mouseover(function()
if($(this).attr('data'))
alert($(this).attr('data'));

)
本来想在选择器的时候就过滤掉没有data属性的元素,不过没有找到好的方法
弹出框建议不要用alert,客户体验不好。用layer吧

jquery 根据自定义属性选择

<div myattr="test">text</div>

使用$("div[myattr=‘test‘]")进行选择

 

以上是关于jquery 如何选择带有自定义属性的标签?的主要内容,如果未能解决你的问题,请参考以下文章

如何用jquery获取页面中的自定义标签

jquery获取当前点击的a标签的自定义属性

jQuery 属性选择器:如何使用自定义命名空间查询属性

jQuery 属性等于选择器不适用于自定义属性

如何在react中获取自定义属性的值

jquery中如何设置用户自定义控件的属性