2016-06-23 3 views
0

にIDを挿入するHTMLは次のようになります。決定<span>を見つけ、コンテナ要素

<div class="divname"> 
    <a href="#" class="linkname" data-sessionlink="" aria-label=""><span class="spanclass">CONTENT1</span></a> 
    <a href="#" class="linkname" data-sessionlink="" aria-label=""><span class="spanclass">CONTENT2</span></a> 
    <a href="#" class="linkname" data-sessionlink="" aria-label=""><span class="spanclass">CONTENT3</span></a> 
</div> 

それはページャです。あなたはそれをチェックアウトすることができます(divname == "branded-page-box search-pager spf-link"

私はCONTENT3を見つけ、それを含む<a>にIDを追加する必要があります。

JavaScriptを使用していますか?私はさまざまなアプローチで試してみましたが、うまく機能しません。あなたがここで何をしたいしようとしている何

+0

、文字通りCONTENT3サードインスタンスによってフィルタリングし、内部HTMLを選択して、そのようにリンクidにそれを適用することができ探すためにしたくないので、どこに欲しい? –

+0

'document.QuerySelectorAll(" a.linkname ")'を使用してすべてのリンクを探し、リストをループし、 'element.innerHTML'を使って内容を取得し、' element.id = "newID" 'を使ってID。 – Barmar

+0

プレーンなJSソリューションまたはjQueryをお探しですか?また、何を試しましたか? – j08691

答えて

0
var links = document.querySelectorAll('.linkname'); // Find all the links 

for (var i in links) { // Loop through the links 

    var link = links[i]; // Get the current link 

    if (link.textContent === 'CONTENT3') { // Check the link's text content 
    link.id = 'theChosenOne'; // Add the id if the text content was correct 
    } 
} 
1

は、ファーストクラスdocument.getElementsByClassName('branded-page-box search-pager spf-link')[0]によって、あなたの主なコンテナを選択し、その中にすべてのリンク要素を見つけることです。リンクをループして検索内容と一致するコンテンツを見つけ、その親のIDをあなたのカスタムIDと同じに設定します。

例:あなたはIE8歳以上をサポートする必要がない場合は、代わりに最初の行のためvar spans = document.querySelectorAll('.branded-page-box.search-pager.spf-link .spanclass');を使用することができます

var spans = document.getElementsByClassName('branded-page-box search-pager spf-link')[0].getElementsByClassName('spanclass'); 
 

 
var i, span; 
 

 
for (i = 0; i < spans.length; i += 1) { 
 
    span = spans[i]; 
 

 
    if (span.innerHTML === 'CONTENT3') { 
 
    span.parentNode.id = 'your_custom_id'; 
 
    // break here if you only want to find the first match 
 
    } 
 
}
#your_custom_id { 
 
    background: red; 
 
}
<div class="branded-page-box search-pager spf-link"> 
 
    <a href="#" class="linkname" data-sessionlink="" aria-label=""><span class="spanclass">CONTENT1</span></a> 
 
    <a href="#" class="linkname" data-sessionlink="" aria-label=""><span class="spanclass">CONTENT2</span></a> 
 
    <a href="#" class="linkname" data-sessionlink="" aria-label=""><span class="spanclass">CONTENT3</span></a> 
 
</div>

0

あなたはおそらく、あなたが何https://jsfiddle.net/6cge9rLb/2/

<script> 
$("span").filter(function(index) { 
    if (index === 2){ 
     var innerText = $(this).html(); 
     $(this).parent().attr('id', innerText); 
    } 
    }); 
</script> 
関連する問題