更改支持<a> element using javascript

时间:2015-11-10 12:51:24

标签: javascript html html5

Please, code to change domain in href (html, JavaScript).

Exemple:

<a id="NewL" href="http://exemple.com/indice.html">Indice</a>

To:

<a id="NewL" href="http://exemple.net/indice.html">Indice</a>

Exemple code not working:

<script  type = "text/javascript" >
function replace() {
    var aEls = document.getElementById('NewL').getElementsByTagName('a');
    aEls.href = aEls.href.replace('http://exemple\.com', 'http://exemple\.net');
}
</script>

Thanks, @t.niese:

<a id="NewL" href="http://exemple.com/indice.html">Indice</a>

<script  type="text/javascript" >
function replace() {
    var aEl = document.getElementById('NewL');
    aEl.href = aEl.href.replace('http://exemple.com', 'http://exemple.net');
}
replace();
</script>

Please help me, not change in various ID in same page:

   <a id="NewL" href="http://exemple.com/indice.html">Indice</a>
   <a id="NewL" href="http://exemple.com/indice2.html">Indice 2</a>

    <script  type="text/javascript" >
    function replace() {
        var aEl = document.getElementById('NewL');
        aEl.href = aEl.href.replace('http://exemple.com', 'http://exemple.net');
    }
    replace();
    </script>

2 个答案:

答案 0 :(得分:1)

Element.getElementsByTagName()

  

[...]搜索指定元素下面的子树,不包括元素本身。[...]

这样您就可以在元素中使用标识a

搜索标记名为NewL的元素

由于document.getElementById('NewL')已经是您的a元素,因此您不会需要getElementsByTagName('a'),因此您应该只写:{/ p>

 var aEl = document.getElementById('NewL');

另外,您的replace错误,如果您将搜索作为字符串传递,则不需要转义.

 aEl.href = aEl.href.replace('htp://exemple.com', 'htp://exemple.net');

除了Element.getElementsByTagName()返回一个元素列表,所以即使你的搜索是正确的,你也需要使用一个循环来迭代这个结果。

答案 1 :(得分:0)

将您的javascript更改为以下内容:

<script  type = "text/javascript" >
function replace() {
    var aEl = document.getElementById('NewL');
    aEl.href = aEl.href.replace('htp://exemple\.com', 'htp://exemple\.net');
}
</script>

您已经通过getElementById选择了元素,无需在其中找到一个类。你还错误地改变了我改为aEl

的变量