如何使用 jQuery 在 div 中定位选择列表?

Posted

技术标签:

【中文标题】如何使用 jQuery 在 div 中定位选择列表?【英文标题】:How do I target a select list in a div using jQuery? 【发布时间】:2013-06-24 18:39:59 【问题描述】:

我有一个 ID 不断变化的选择列表,位于一个具有稳定类的 div 中。

当所选选项更改时,我想触发一些代码。

如何使用不断变化的 ID 定位选择列表?

$(".stable".children(".select")).change(onSelectChange);

没有这样做。我真的不知道如何瞄准小变色龙。

它看起来像这样的 html

<div class="stable">
    <label for="changing">Size:</label>
    <select name="changing" id="changing" class="Option required" onkeyup="this.blur();this.focus();onSelectChange();">...</select>
</div>

我希望很明显,我并不是说 ID 被专门命名为“更改” - 此 ID 会随着之前的产品选择而变化,无论分配了什么 ID,我都需要定位它。它拥有的类是不变的,但其中有一个空间 - 一个更大的项目的一部分,不是我的工作。

感谢您提供的任何帮助。

【问题讨论】:

【参考方案1】:

你的选择器不正确试试这个;

$(".stable").find("select").change(onSelectChange)..

当然,如果您只有其中一个,则使用 id 本身来定位它(但随着 id 的变化,您的情况似乎并非如此)

 $('#changing').change(onSelectChange);

【讨论】:

【参考方案2】:

使用element selector:

$("select", ".stable").change(onSelectChange);

【讨论】:

【参考方案3】:

如果您的列表已经有一个 id:应该是唯一的

$('#changing').change(onSelectChange);

或者其他方式-

$('.stable select').change(onSelectChange);

【讨论】:

OP 明确声明他不能使用该 ID:“此 ID 会随之前的产品选择而变化,无论分配什么 ID,我都需要定位它”我> 您的第一个建议不适用于这种情况,但您的第二个建议在代码中起作用。感谢所有回复的人。你们都帮助我了解了更多。

以上是关于如何使用 jQuery 在 div 中定位选择列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jquery 获得精确的 div 标签匹配选择器?

jquery如何定位倒数第二个元素,如一个div里有5个ul,那jquery如何才能锁定到倒数第二个ul

使用jQuery从列表中选择具有某些属性的div

在使用 php for 循环生成 div 并为它们动态分配 ids 后,我如何使用 jquery 定位 ids?

如何使用 JQuery 选择鼠标悬停的对象?

如何使用 jQuery 相对于另一个元素定位一个元素?