大家好 我试图获得最近的带有Id的下拉元素, 在页面上我有2个具有相同Id属性的元素, 现在我想在单击页面中的任何元素时选择最接近的那个
<select id="XYZ" .... >
<bla bla bla OTHER DOM ELEMENTS>
<select id="XYZ" ... >
<bla bla bla OTHER DOM ELEMENTS>
<btn="ABC" />
当我单击按钮时,我想获得最近的SELECT元素的值
提前感谢您的帮助
答案 0 :(得分:1)
你真的不应该在一个页面上有两个具有相同ID的元素,因为它违反HTML规范并且可能导致问题。
相反,如果需要,可以考虑使用类和单独的ID,并使用jQuery选择:
<select class="XYZ" id="select_1" .... >
<bla bla bla OTHER DOM ELEMENTS>
<select class="XYZ id="select_2" ... >
<bla bla bla OTHER DOM ELEMENTS>
<button id="ABC" />
<script>
$(function()
{
$('#ABC').click(function()
{
var value = $('#select_2').val();
});
});
</script>
答案 1 :(得分:0)
请勿使用Id用户类,然后找到最接近的元素, 当有多个具有相同id的元素时,jquery将无法正常工作。
并且在你的html父元素和子元素看起来像是在同一级别,然后使用兄弟姐妹而不是最接近。
答案 2 :(得分:0)
您可以使用.prev,如下所示
$(this).prev().attr('value');