我将外部网页的整个HTML内容传递给javascript变量(“myHTML”)。接下来,我试图确定myHTML变量中是否存在两个具有特定属性的不同标记。我正在寻找某个<div>
代码和<script>
代码的存在。我能够识别<div>
标记:
alert($(myHTML).find('div[id^="myID"]').length)
以上代码返回正确的计数。但是,我无法找到<script>
标记(即使它确实存在于页面/ myHTML变量中):
alert($(myHTML).find('script[src*="example.com"]').length)
上面的代码总是返回零,即使有一个<script>
标记,其src属性指向“... example.com /...”。
任何人都可以解释为什么第一行代码有效,而第二行代码失败?这个问题有什么解决方案吗?
答案 0 :(得分:4)
之前在此讨论过:jquery: Keep <script> tag after .find()
每当您从字符串创建jQuery对象时,jQuery都会删除所有脚本标记。解决方案是在将字符串转换为对象之前使用正则表达式解析字符串。