gpt4 book ai didi

jquery - 有解决这个 jQuery bug 的方法吗?

转载 作者:行者123 更新时间:2023-12-01 06:42:05 25 4
gpt4 key购买 nike

$('> img[src="folderopen.gif"]',$scope)

上面的方法会失败,似乎是 jQuery 的一个错误,有解决办法吗?

此问题可在此处找到:

How to judge whether there is a specific child(.haschild('#test[att="test"]')) with jQuery?

编辑

我刚刚验证这也会失败:

$scope.children( 'img[src="folderopen.gif"]');

最佳答案

已测试且有效:

在线演示:http://jsbin.com/uyuri3

<p id="scope"> 
<img src="foo.jpg" />
</p>

-- 与 --

$(function(){
var scope = $("#scope");
alert( $(scope).children("img[src$='foo.jpg']").attr("src") );
});

-- 也适用于您的原始语法 --

var img = $("> img[src$='foo.jpg']", scope);
<小时/>

一个有趣的错误

我们知道我们的 src 值为 foo.jpg,但以下操作失败:

$("img[src='foo.jpg']");

所以我很好奇 jQuery 对 src 的解释是否等于我在 HTML 中提供的字符串文字源:

$("img", scope).attr("src") === "foo.jpg"; // true

这让整个情况变得非常奇怪。 jQuery 认为,当您将其作为选择器的一部分传递时,src等于“foo.jpg”,但它与调用 attr() 进行比较时等于字符串文字。

最后,需要 $= 才能让 jQuery 同意“foo.jpg”等于“foo.jpg”。这当然是一个错误,但并非不可克服的错误。

关于jquery - 有解决这个 jQuery bug 的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2062607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com