1

$('.classname')即使元素存在,我的 JavaScript 模块也无法找到具有类名的特定 DOM 元素。

$('.classname').length返回 0,其中 as$.find('.classname').length返回 1。

网站还包含其他 JavaScript 模块。

谁能帮我找出为什么会这样?

我的 jQuery 版本是 1.7.1。

要重现此 1- 转到 avc.com
2- 打开控制台。
3-将以下代码粘贴到控制台中。

var head = document.getElementsByTagName("head")[0];  
var script = document.createElement("script");  
script.type = "text/javascript";  
script.src = "//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js";  
script.async = true;  
head.appendChild(script);

4-尝试
$('.pkg').length$.find('.pkg').length

从这里找到屏幕截图http://i.imgur.com/4UDHz.png

还有一点,如果您在其他一些网站上尝试此操作,它可以正常工作。

4

1 回答 1

2

您可能与其他 JavaScript 模块有一些冲突。查看 jQuery noconflict

许多 JavaScript 库使用 $ 作为函数或变量名,就像 jQuery 一样。在 jQuery 的例子中,$ 只是 jQuery 的别名,所以所有功能都可以在不使用 $ 的情况下使用。如果我们需要在 jQuery 旁边使用另一个 JavaScript 库,我们可以通过调用 $.noConflict() 将 $ 的控制权返回给另一个库

尝试使用

jQuery('.classname').length
于 2012-03-27T13:55:59.657 回答