簡體   English   中英

用類改變DIV中的所有href

[英]Change all href inside a DIV with class

我正在嘗試更改使用類的幕布DIV中的所有href鏈接。 到目前為止,我已經能夠使用此代碼段更改頁面中的所有鏈接:

function Sl(){
 var l = document.getElementsByTagName('a');
  for(i=0;i<l.length;i++){
   var cl = l[i].href;
     l[i].href = cl.replace(cl,'http://domain,com/'+cl);}
}
 window.onload = Sl;

但它不是一個理想的解決方案。

我試過用這行:

var l = getElementsByClassName('class').getElementsByTagName('a');

但它不起作用。


注意:沒有Jquery解決方案,只有感謝JavaScript,我不想只為一個小片段加載jquery。

querySelectorAll是一個很好的支持方法(甚至IE8支持的話),所以你可以用一個簡單的選擇讓所有的a元素:

var l = document.querySelectorAll('div.class a');

我試過用這行:

 var l = getElementsByClassName('class').getElementsByTagName('a'); 

但它不起作用

這是因為,就像getElementsByTagName一樣, getElementsByClassName返回一個元素列表 如果您知道該類只有一個元素,則可以直接引用它:

var l = getElementsByClassName('class')[0].getElementsByTagName('a');

否則,您必須使用for循環遍歷.class元素,並在循環內調用getElementsByTagName('a')以獲取a元素。

你可以試試下面的代碼:

var elements = document.getElementById('parentContainer').getElementsByClassName('classname');

   for (var i = 0; i < elements.length; i++)
{
        //change href's here..
}

希望這可以幫助..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM