我正在考虑通过将广告代码移至外部jQuery脚本来收紧广告代码,但我显然仍需要一些HTML来定位广告。所以我想知道我是否可以定位一个noscript元素(或者在一个noscript元素中)因为我不得不将它留在页面上,或者我是否需要为JavaScript定位一些其他元素?
<noscript>
<div class="ad"><a href="foo"><img src="bar" alt="ad" /></a></div>
</noscript>
我的意图是更改或删除noscript元素。
答案 0 :(得分:6)
<noscript>
内容不仅不会显示,显然它也不在DOM中。我尝试访问<noscript>
区域内的内容(希望您可以使用jQuery clone()
并将其插入其他地方)但是什么都没有回来。
答案 1 :(得分:3)
您可以定位noscript元素。
<noscript>asdfasFSD</noscript>
<script>
alert(document.getElementsByTagName("noscript")[0].innerHTML);
</script>
适用于FF3,IE6和Google Chrome。它会为我警告asdfasdFSD。
答案 2 :(得分:2)
为什么需要noscript元素?如果你只是在javascript运行时删除或用不同的元素替换它,那么div无论如何都会像noscript元素一样。
答案 3 :(得分:1)
如果浏览器启用了javascript,则不显示no-script元素内的内容。
您需要将其置于javascript定位之外,并将NoScript部分用于其目的,即未启用JavaScript的用户。
答案 4 :(得分:1)
大多数浏览器都不会让你定位noscript元素,即使你(错误地)给它一个id。您可以尝试http://dev.opera.com/articles/view/replacing-noscript-with-accessible-un/之类的东西 - 它是一种符合标准的方法,用于实现相同目的,但没有noscript标记。
答案 5 :(得分:0)
您可以随时使用JS来隐藏该广告,如果没有别的话。