如何通過當前div中的id獲取第一個元素?意味着當class =「uc-current」去到其他元素時,它會在新元素中獲得id =「c」的第一個元素。如何根據不斷變化的父類獲取元素ID
我想做這樣的事情。
function fani(){document.getElementById('uc-current c').className ='c-back';}
有幫助嗎?
如何通過當前div中的id獲取第一個元素?意味着當class =「uc-current」去到其他元素時,它會在新元素中獲得id =「c」的第一個元素。如何根據不斷變化的父類獲取元素ID
我想做這樣的事情。
function fani(){document.getElementById('uc-current c').className ='c-back';}
有幫助嗎?
你不應該需要這樣做。 ID應該是唯一的,所以只需使用getElementById就足夠了。但我曾參與違反此規則的第三方網站。所以,如果你發現自己在這種情況下,你可以試試這個:如果你正在使用jQuery
function firstMatchingID(parentElement, id){
var nodes = parentElement.children ;
var ln = nodes.length ;
for(var i = 0; i<ln ; i++){
if (nodes[i].id == id){
return nodes[i] ;
}
}
}
var parentElement = document.getElementsByClassName("c-back")[0]; // Example only. getElementsByClassName is not supported by all browsers
firstMatchingID(parentElement, "uc-current") ;
,你可以這樣做:
$(".c-back>#uc-current:eq(0)");
但只看該選擇讓我哭一點。由於不得不重複使用重複使用的ID,所以我一直受到傷害。有一天,我要快速捕捉開發人員。
您可能想要使用類名稱:<div class="c">...</div>
。
然後你做:
document.querySelector('#uc-current .c').className = 'c-back';
它沒有工作:( – user1564354
ID應該是唯一的每個文檔。你有點暗示你正在使用重複ID。 –
應該永遠不會有多個元素具有相同的ID – ColBeseder
實際上它在一個循環中,所以id被重複多次。 – user1564354