使用jQuery,如何在給定的元素ID之後找到特定類型的第一個出現的元素?期望的元素可能或可能不是緊接着的元素。獲取下一個元素,不一定是同級和沒有類
下面的函數的目的是在單選按鈕後面隱藏類型'select'的第一個出現的元素。
function showDropDown(radioButtonElem) {
if(document.getElementById(radioButtonElem.id).checked) {
/*$(Get next <select> element after radioButtonElem.id).css("display", "none");*/
}
}
<input type="radio" name="radioButtonGroup" value="sfn" id="sfn" onclick="showDropDown(this);">
<select id="myDropDown">...</select>
我對'next()'函數的理解是它只能找到相同類型的元素。我可能是錯的;如果我請解釋如何使用它來解決我的問題。編輯: 感謝您的反饋意見。根據你的意見,我認爲這會起作用,但事實並非如此。我錯過了什麼?
<script>
function showDropDown(radioButtonElem)
{
if(radioButtonElem.checked)
{
$(radioButtonElem).nextAll('select').first().css('display', 'none');
}
}
</script>
[http://api.jquery.com/closest/](http://api.jquery.com/closest/)如果選擇不同級 –
你是對的,.next不是你需要的。這個問題之前已經被問過很多次了,但是在使用它的時候有很多不同的情況,所以可能很難找到一個符合你的情況的問題。你給的樣本顯示select是兄弟姐妹,你說它不是,所以我們很難爲你找到一個副本。你爲什麼要做'document.getElementById(radioButtonElem.id).checked'而不是'radioButtonElem.checked'?它似乎有點多餘。 –
你的意思是「不一定是下面的兄弟姐妹」,即它將是兄弟姐妹,但可能有干預元素。 – Alnitak