Javascript 使用类更改DIV内的所有href

Javascript 使用类更改DIV内的所有href,javascript,Javascript,我正在尝试更改使用类的窗帘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 = S

我正在尝试更改使用类的窗帘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;
函数Sl(){
var l=document.getElementsByTagName('a');

对于(i=0;i您可以尝试以下代码:

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

   for (var i = 0; i < elements.length; i++)
{
        //change href's here..
}
var elements=document.getElementById('parentContainer').getElementsByClassName('classname');
对于(var i=0;i
希望这有帮助。

是一种受支持的方法(即使IE8也支持),因此您可以使用一个简单的选择器来获取所有
a
元素:

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

我试过用这句话:

var l = getElementsByClassName('class').getElementsByTagName('a');
但它不起作用

这是因为,与
getElementsByTagName
一样,
getElementsByCassName
返回一个元素列表。如果知道该类只有一个元素,可以直接引用它:

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

否则,您必须使用
for
循环迭代
.class
元素,并在循环内部调用
getElementsByTagName('a')
以获得
a
元素。

您可以通过解释您所做的事情来更好地回答问题。请尝试
var l=document.querySelectorAll('class a'))
您还可以使用setAttribute方法更改特定于元素的属性。例如:l[i].setAttribute(“href”,”);