我想在我的 html 页面中使用自定义标签并使用 jquery 读取其中的文本, 像这样的东西:
<desc>Hello world</desc>
然后用 jquery 阅读文本:
desc_text=$("desc").first().text();
在 Firefox 和 Chrome 上,它可以工作,我得到了“Hello world”,但在 Internet Explorer (IE 9) 上却没有。
经过调试,问题似乎出在IE:<desc>
和 </desc>
被视为两个不同的 DOM 节点。 Hello world
不是 <desc>
的子节点.
这就是它不起作用的原因。如果我使用 span
标签而不是 desc
标签:有效。
有没有办法让它在 IE 上运行,或者 IE 不会像 firefox/Chrome 那样解释我的自定义标签是正常的吗?
最佳答案
只需在文档的头部添加
<script>document.createElement('desc');</script>
这也是从 HTML5shiv
中采用的基本思想,使 IE<9 能够正确解析新的 HTML5 元素(无论如何请注意,您将无法通过 javascript 动态注入(inject)此元素进入DOM)
关于Jquery 无法读取 Internet Explorer 上的自定义标记文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11313110/