脚本在php文件中使用,它会显示一个链接的alexa等级图像:
<script type="text/javascript" src="http://xslt.alexa.com/site_stats/js/t/a?url=x-invest.net"></script>
这就是结果:
<a class="AlexaSiteStatsWidget" href="http://www.alexa.com/data/details/main?url=http://xxx">
<img alt="Alexa Certified Site Stats for xxx" src="http://xsltcache.alexa.com/site_stats/gif/t/a/eC1pbnZlc3QubmV0/s.gif" border="0">
</a>
我想在<一个>标签。这是我已经尝试过的:
<script>document.getElementsByClassName("AlexaSiteStatsWidget").setAttribute('target', '_blank');</script>
<script>$('#AlexaSiteStatsWidget a').attr('target', '_blank');</script>
但它们都不起作用。
只需更改此项:-
<script>document.getElementsByClassName("AlexaSiteStatsWidget").setAttribute("target","_blank");</script>
对此:-
<script>document.getElementsByClassName("AlexaSiteStatsWidget")[0].setAttribute("target","_blank");</script>
并删除这行:-
<script>$('#AlexaSiteStatsWidget a').attr('target', '_blank');</script>
我不知道它是否有效,但如果您在<正文>'s<a>s的元素如下:
<script type="text/javascript">
document.querySelector("body a.AlexaSiteStatsWidget").addEventListener("click", function() {
this.setAttribute("target", "_blank");
});
</script>
我没有测试它,但我想它让你知道我想说什么
getElementsByClassName返回一个包含所有节点(html元素)的数组,并提供类名。如果指定类只有一个html元素,它仍然会返回一个包含一个节点的数组。
如果您想将其应用于一个<a>
元素,请使用:
<script>
document.getElementsByClassName("AlexaSiteStatsWidget")[0].setAttribute('target', '_blank');
</script>
如果要将其应用于多个<a>
元素:
<script>
var alexaArray = document.getElementsByClassName("AlexaSiteStatsWidget");
for(var i = 0; i < alexaArray.length; i++){
alexaArray[i].setAttribute('target', '_blank');
}
</script>