我没搞懂呢,前面已经$(hr[color="blue"]了

我没搞懂呢,前面已经$(hr[color="blue"]了

为什么$(hr[color="blue"].attr("color")的时候还和所有hr标签都有关系啊,虽然获取的时候是第一个,但是那前面$()里的约束是摆设吗,那里面填不填color="blue"岂不是都一样

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿慧 2020-04-08 10:38:15

同学你好,
1、$("hr[color*='blue']")会将所有hr标签遍历一遍,选出color中包含blue的标签。只要符合条件就会选出该标签,不会因为找到一个符合的标签后就不再遍历了。所以,最终会选出color为lightblue与blue的两个标签。
2、[color*='blue']是选取每个带有指定属性color且值包含指定字符串'blue'的标签。而[color='blue']选取每个带有指定属性color且值为'blue'的标签,最终会选出color为blue的这一个标签。二者选取规则不同,同学注意区分一下。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕阿慧 2020-04-07 19:27:42

同学你好,$("hr[color*='blue']")是获取color中包含blue的标签,选中color为lightblue与blue的两个标签。attr()方法是设置或返回被选元素的属性和值,当该方法用于返回属性值时,会返回第一个匹配元素的值。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 怀夢 #1
    $(hr[color="blue"].attr("color")就是说这段代码的意思是,在选中color=“blue”之前的所有color=“”都会遍历一遍,直到选中color=“blue为止”因为在.attr()的规则是,选中的第一个元素,所以输出的是lightblue
    2020-04-07 22:59:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师