这让我抓狂。我正在使用 JQuery 1.9 进行测试...我传递了一些 HTML 代码,包括脚本标签...我在元素中搜索脚本元素并找到了它们。就像是:
var myHtml = '<div>...</div><script href="..."></script>';
var myElem = $('<div/>').html(myHtml);
var scripts = myElem.find('script');
//scripts.length == 1
但是在生产中,我有旧版本(JQuery 1.7),并且scripts.length
是 0... 并且调试器显示脚本已添加到标题中???
- JsFiddle Example (JQuery 1.9.1) 1 Script Found (脚本被插入到div中)
- JsFiddle Example (JQuery 1.7.2) 0 Scripts Found (脚本被插入到标题中)
所以可能的解决方案(非常丑陋)是在此代码运行之前和之后检测标头的脚本......或使用 100% DOM
如果您在如何使用 JQuery 早期版本(例如 1.7)在一段 html 代码中找到脚本元素中有任何其他更漂亮的解决方案???
更新
我找到了一个可能的解决方案: JsFiddle Example (JQuery 1.7.2 + DOM) 1 Script Found (script is inserted in the div)