假设我有这个HTML:
<article id="1919">
<div class="entry-content clearfix">
<div></div>
<div></div>
</div>
</article>
<article id="1910">
<div class="entry-content clearfix">
<div></div>
<div></div>
</div>
</article>
我需要在div中添加一个带有类&#34; entry-content clearfix&#34;的链接。所有文章
我可以这样做吗:
//take all div with these class value
var eventi_programma=document.getElementsByClassName('entry-content');
//for to read these elements
for(var i=0;i<eventi_programma.length;i++){
var link="http://www.google.it";//(LINK EXAMPLE);
eventi_programma[i].parentElement.innerHTML='<a href="'+link+'" ><div class="entry-content clearfix">'+eventi_programma[i].outerHTML+'</div></a>';
}
但我的代码不起作用。
答案 0 :(得分:0)
(function (){
var eventi_programma=document.getElementsByClassName('entry-content');
//for to read these elements
for(var i=0;i<eventi_programma.length;i++){
var link="http://www.google.it";//(LINK EXAMPLE);
eventi_programma[i].parentElement.innerHTML='<a href="'+link+'" ><div class="entry-content clearfix"> THIS IS A LINK </div></a>';
}
})();
它不起作用,因为您将eventi_programma[i].outerHTML
作为链接的文本。由于你的for循环基于.entry-content
类,它基本上创建了一个永无止境的for循环,因为你不断创建具有该类名的新div。因此,不要将outerHTML
放入其他文本。
答案 1 :(得分:0)
我假设您的entry-content
课程在每个文章标签中只有一个!所以我检索所有文章并添加然后替换它。
var eventi_programma = document.getElementsByTagName("article");
//for to read these elements
for(var i=0;i<eventi_programma.length;i++){
var link="http://www.google.it";//(LINK EXAMPLE);
org_html = eventi_programma[i].innerHTML;
new_html = "<a href='"+link+"'>" + org_html + "</a>";
eventi_programma[i].innerHTML = new_html;
}
答案 2 :(得分:-2)
//take all div with these class value
var eventi_programma = $('div.entry-content');
//for to read these elements
for (var i = 0; i < eventi_programma.length; i++) {
var link = "http://www.google.it";//(LINK EXAMPLE);
var temp = eventi_programma[i];
$(temp).parent('article').html('<a href="' + link + '" ><div class="entry-content clearfix"></div></a>')
}
尝试一下......