0

現在のdiv内のidで最初の要素を取得する方法?? class="uc-current" が他の要素に移動すると、新しい要素で id="c" を持つ最初の要素が取得されることを意味します。

私はこのようなことをしたいです。

function fani(){document.getElementById('uc-current c').className ='c-back';}

助けはありますか?

4

2 に答える 2

1

おそらくクラス名を使用したいでしょう: <div class="c">...</div>.

次に、次のようにします。

document.querySelector('#uc-current .c').className = 'c-back';
于 2012-10-28T16:35:40.210 に答える
0

これを行う必要はありません。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 を何度も使用しなければならないので、私は一生傷つきました。いつの日か、スナップして開発者を探し始めるつもりです。

于 2012-10-28T16:48:50.540 に答える