現在のdiv内のidで最初の要素を取得する方法?? class="uc-current" が他の要素に移動すると、新しい要素で id="c" を持つ最初の要素が取得されることを意味します。
私はこのようなことをしたいです。
function fani(){document.getElementById('uc-current c').className ='c-back';}
助けはありますか?
現在のdiv内のidで最初の要素を取得する方法?? class="uc-current" が他の要素に移動すると、新しい要素で id="c" を持つ最初の要素が取得されることを意味します。
私はこのようなことをしたいです。
function fani(){document.getElementById('uc-current c').className ='c-back';}
助けはありますか?
おそらくクラス名を使用したいでしょう: <div class="c">...</div>
.
次に、次のようにします。
document.querySelector('#uc-current .c').className = 'c-back';
これを行う必要はありません。ID は一意であると想定されているため、単純に getElementById を使用するだけで十分です。しかし、私はこの規則に従わないサードパーティのサイトに取り組んできました. そのため、そのような状況に陥った場合は、次のことを試すことができます。
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") ;
jQuery を使用している場合は、次のようにできます。
$(".c-back>#uc-current:eq(0)");
でも、あのセレクターを見ているだけでちょっと泣けてきます。再利用された ID を何度も使用しなければならないので、私は一生傷つきました。いつの日か、スナップして開発者を探し始めるつもりです。