jQuery 选择器错误? 组合选择器与简单选择器的比较 寻找()

发布于 2024-07-24 23:39:04 字数 516 浏览 2 评论 0原文

我的情况非常尴尬......我有这样的事情:

<div id="selector">
   <input type='radio' />
   <input type='radio' />
   <input type='radio' />
</div>

如果我使用 $("#selector input[type=radio]") 所有三个元素都会找到,但是如果我使用 < code>$("#selector").find("input[type=radio]") 甚至 find("input") 仅找到第一个。

这是 jQuery 中的错误吗? 我没有正确使用 find() 吗?

澄清:我想使用 find() 来获取所有输入,但我尝试的任何操作都只能找到第一个输入。

编辑:我正在使用 jquery 1.3.2

Something is very awkward about my situation... i have something like this:

<div id="selector">
   <input type='radio' />
   <input type='radio' />
   <input type='radio' />
</div>

if I use $("#selector input[type=radio]") all three elements are found, but if I use $("#selector").find("input[type=radio]") or even find("input") only the first one is found.

Is this a bug in jQuery? Am I not using find() properly?

Clarification : I want to use find() to get all the inputs, but anything I try finds only the first one.

edit: i'm using jquery 1.3.2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

醉生梦死 2024-07-31 23:39:04

你真正想要的是:

$("#selector > :radio")

至于为什么你只得到一个,我需要查看正在运行的实际代码,因为 find() 不会停在一个并且会找到所有匹配项,所以它可能是你的方式之后再使用它就是问题。

What you really want is:

$("#selector > :radio")

As for why you're getting only one, I'd need to see the actual code that's being run because find() doesn't stop at one and will find all matches so it may be how you're using it afterwards that is the issue.

丢了幸福的猪 2024-07-31 23:39:04

两个代码片段应该返回相同的结果。

您是说当您运行以下代码时,第一个警报将显示“3”,第二个警报将显示“1”?

var a = $("#selector input[type=radio]");
var b = $("#selector").find("input[type=radio]");

alert(a.length);
alert(b.length);

您能核实一下吗?

The two code fragments should return the same result.

Are you saying that when you run the following code, the first alert will show "3" and the second "1" ?

var a = $("#selector input[type=radio]");
var b = $("#selector").find("input[type=radio]");

alert(a.length);
alert(b.length);

Can you please verify?

沉默的熊 2024-07-31 23:39:04

尝试

$("#selector").find("input[type=radio]")

Try

$("#selector").find("input[type=radio]")

蓝色星空 2024-07-31 23:39:04

参见此处

所有三个都返回相同的结果!

$(function() {
    console.log($("#selector input[type=radio]"));          // 3
    console.log($("#selector").find("input[type=radio]"));  // 3
    console.log($("#selector").find("input"));              // 3
});

See here

All the three returns the same result!

$(function() {
    console.log($("#selector input[type=radio]"));          // 3
    console.log($("#selector").find("input[type=radio]"));  // 3
    console.log($("#selector").find("input"));              // 3
});
帥小哥 2024-07-31 23:39:04

$("#selector").children("输入[@type=radio]")

$("#selector").children("input[@type=radio]")

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文