【发布时间】:2010-11-26 01:16:44
【问题描述】:
我正在尝试使用 Javascript 获取 <noscript> 标记的内容。我成功地在 FF、Chrome、Opera 甚至 IE6 中获得了它,但在 IE7 上失败了(还没有尝试过 IE8+)。
基本上,这是简化的代码版本:
<noscript>Lorem ipsum</noscript>
<script>
var noscript = document.getElementsByTagName('noscript')[0];
noscript.textContent; // undefined
noscript.innerHTML; // empty string
noscript.childNodes.length; // 0
</script>
我尝试在里面添加元素并定位它们,但没有成功。我试图包装一个父元素并获取它的.innerHTML,但<noscript> 标签之间的任何东西都被丢弃了。
注意:我正在构建一个lazyloader 脚本,而<noscript> 元素正是我所需要的(<noscript> 标记内的src 属性不会被浏览器获取。)
【问题讨论】:
-
您是否尝试过在您的 noscript 中添加一个 id 并使用 getElementById?
-
是的,问题不在于选择 noscript 元素(它可以与 getElementById 或 getElementsByTagName 一起使用),它确实是在访问内容。
-
document.getElementsByTagName('script')[0]- 您查询的是 script 元素,而不是 noscript 元素。我错过了什么? -
对不起,错字。我真的在查询 noscript 元素。我在最初的帖子中解决了这个问题。
-
@Pixelastic:noscript 内容是否需要在 DOM 中完全表示为子树?
标签: javascript internet-explorer-7 noscript