Jquery 无法读取 Internet Explorer 上的自定义标记文本
Posted
技术标签:
【中文标题】Jquery 无法读取 Internet Explorer 上的自定义标记文本【英文标题】:Jquery cannot read custom tag text on Internet Explorer 【发布时间】:2012-07-04 00:21:09 【问题描述】:我想在我的 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 那样解释我的自定义标签是正常的?
【问题讨论】:
为什么首先需要自定义标签?只需使用正确的 ID 和类。 【参考方案1】:只需在文档的开头添加
<script>document.createElement('desc');</script>
这也是HTML5shiv
采用的基本思想,使 IE
【讨论】:
【参考方案2】:http://ajaxian.com/archives/adding-custom-tags-to-internet-explorer-the-official-way
【讨论】:
以上是关于Jquery 无法读取 Internet Explorer 上的自定义标记文本的主要内容,如果未能解决你的问题,请参考以下文章
无法打开网站web服务器上似乎未安装frontpage服务器扩展 无法读取microsoft internet information server
为 Internet Explorer 8 禁用 jQuery 中的缓存问题
jQuery - 无法使用 replaceWith() 函数 - 无法读取未定义的属性“createDocumentFragment”
JQuery:未捕获的类型错误:无法读取未定义的属性“调用”
jQuery.Deferred 异常:无法读取未定义的属性(读取“长度”)-> Laravel 8 Boilerplate + Bootstrap