jq获取动态元素属性

jq获取动态元素属性,第1张

首先我要问一下你的jquery版本是多少?如果是jquery18以后的话,jquery的attr方法已经用prop方法替代了,prop方法的用法和attr完全一样,jquery18以后的attr方法会出现你说的问题。你把attr改成prop试一下

上一个实例……这种畸形需求……条件太苛刻

建议根据属性猜一个属性名,毕竟属性名是有限的,而且是有规律的

推荐方法如:$([class="属性值"], [id="属性值"], [title="属性值"])

如果是 data 数据,也可以进行遍历,或者转换成文本进行检索

JSONstringify($('#blog_nav_rss')data())match(/"([\w-]+)":"[^"]检索的内容[^"]"/g)

如果把网页文档转换成文本进行全文检索,效率低下,效果不好。$('body')html()match(/([\w-]+)="[^"]检索的内容[^"]"/g)

分为以下2种情况: 

1如果css写成行内样式,可以通过获取style属性的值来判断,示例如下: 

判断id为divid的div元素是否有font-size样式:

2如果css写成类样式,可以通过获取class属性的值来判断,示例如下: 

判断id为divid的div元素是否含有类样式divclass:

描述: 为每个匹配的元素添加指定的样式类名

$('div')addClass('className');//为所有div添加名为className的class1

removeClass 

描述: 移除集合中每个匹配元素上一个,多个或全部样式。

$('div')removeClass('className');//将所有div上名为className的class移除1

toggleClass 

描述: 在匹配的元素集合中的每个元素上添加或删除一个或多个样式类,取决于这个样式类是否存在或值切换属性。即:如果存在(不存在)就删除(添加)一个类。

$('div')toggleClass('className');//如果div上有这个class就删除,没有就添加。

在JQuery编码中,我们会判断元素是否存在某个属性比如是否包含 class="new" 的样式呢JQuery判断就非常简单了,因为有 hasClass这个方法 $("input[name=new]")hasClass("new") 即可判断

但是有时候我们需要判断别的属性,比如有的 a 链接包含 rel 属性,有的没有rel属性这时该怎么判断呢

这时就没有现成的方法了 如果存在某个属性 $("#aid")attr("rel") 会返回 rel的值,如果不存在 rel属性则会返回"undefined"

undefined 就是 undefined类型 , if($("#aid")attr("rel")=="undefined") 这个判断可能不成立

因为类型不相同

建议使用 if(typeof($("#aid")attr("rel"))=="undefined") 即可

首先,要用jquery获取到这个元素,用attr方法可以输出这个元素的标签属性。例如:

<div id='id1' class='class2'></div>

$('#id1') 获取到这个元素,有很多种获取元素方法,可参考jquery的文档。

$('#id1')attr('id'),就是获取到ID

$('#id1')attr('class'),就是获取到整个的class样式,多个样式可以自行用空格split一下。

以上就是关于jq获取动态元素属性全部的内容,包括:jq获取动态元素属性、jquery怎么根据属性值获取元素、jquery怎么获取下一个具有指定样式(class)的元素呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9741681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存