2016-08-24 7 views
0

CMS経由で一部のコードに書き込まれた古いリンクを上書きしようとしています。クラスを追加せずにページの読み込み時にhref値を変更する

現在のリンクを新しいスクリプトで上書きするスクリプトを追加しようとしています。ここで

は私のコードです:

スクリプト:

function linkChange() { 

    var links = document.getElementById("titlecontent"); 
    links.getElementsByTagName("a").href = "http://www.cnn.com/"; 

} 

または

function linkChange() { 

    document.getElementById("titlecontent").getElementsByTagName("a").href = "http://www.cnn.com/"; 

} 

HTML:

<ul id="titlecontent"><a href="link_to_change"><li>link</li></a></ul> 

主な問題は、私が行くと追加することはできませんですidまたはクラスをに追加するというタグがあるので、id "titlecontent"の<ul>で始まるターゲットにする必要があります。

+3

'getElementsByTagName'はノードです**リスト**単一のノードではありません –

+0

ノードの位置を追加する必要がありますか?最初の(または唯一の) – Valerie

+0

aとliの要素を切り替えると、常にul> liになるはずです> li –

答えて

1

これは動作します:

document.getElementById("titlecontent").getElementsByTagName("a")[0].href = "http://www.cnn.com/";
<ul id="titlecontent"><a href="link_to_change"><li>link</li></a></ul>

問題は、あなたがgetElementsByTagName内の特定の要素を選択するために必要なことだった、それは要素のリストだけではなく、1を返すため。

+0

皆さん、ありがとうございます。これは完璧に機能します。 – Valerie

関連する問題