我想要特定范围内<a>
标签中的所有(网址)hrefs与“post-body entry-content”类更改为特定网址,这是我的代码我确实把它放在了身体的末尾标签..把它接缝不起作用,我不能得到我做错了导致控制台中没有错误。(即时通讯非常noob在Javascript)
基本上我试图用“adfly in the front”改变每个网址。
这是我的代码:
function links(){
var adfly = "http://adfDOTly/000/";
var els = document.getElementsByClassName('post-body entry-content')[0];
var links = els.getElementsByTagName('a'),
len = links.length;
while( len-- ){
links[len].href = adfly + links[len].href;
}
}
links();
以下是我网站上实际工作的一些额外代码
//<![CDATA[
function replaceurl(){
var els = document.getElementsByTagName('a'),
len = els.length;
while( len-- ) {
if (els[len].href.indexOf('#expand') > -1) {
} else {
els[len].href = els[len].href + "#expand";
}
}
}
function clearurl(){
var els = document.getElementsByTagName('a'),
len = els.length;
while( len-- ) {
if (els[len].href.indexOf('#expand') > -1) {
els[len].href = els[len].href.replace('#expand','');
} else {
}
}
}
if (window.location.href.indexOf("#expand") > -1) {
$( "#main-wrapper" ).animate({'width':'984px'}, 'slow');
$(".post-body iframe").animate({'height':'554px'},'slow');
$("#sidebar-wrapper").hide("slow");
replaceurl();
}
$( "#expandmainwrapper2" ).click(function() {
$ ( "#sidebar-wrapper" ).show("slow");
$( "#main-wrapper" ).animate({'width':'640px'}, 'slow');
$(".post-body iframe").animate({'height':'360px'},'slow');
parent.location.hash = "";
clearurl();
});
$("#expandmainwrapper").click(function(){
$( "#sidebar-wrapper" ).hide("slow");
$( "#main-wrapper" ).animate({'width':'984px'}, 'slow');
$(".post-body iframe").animate({'height':'554px'},'slow');
parent.location.hash = "expand";
replaceurl();
});
//]]>
在我的网站上它不起作用,我不知道为什么继承我的网站Websitelink
答案 0 :(得分:1)
要获取所有链接,您应该使用:
var links = document.getElementsByTagName("a");
答案 1 :(得分:1)
从getElementsByClassName
返回的是“像对象一样的数组”,不依次有getElementsByTagName
相反,请尝试querySelectorAll("a .post-body.entry-content")
(注意:a
和.
之间的空格,body
和.
之间没有空格
循环遍历这些结果
请参阅https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll