jQuery $('。classname')。长度失败,但$ .find('。classname')。长度有效,为什么?

时间:2012-03-27 13:49:41

标签: jquery find classname

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

$('.classname').length返回0,其中$.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找到屏幕截图

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

1 个答案:

答案 0 :(得分:2)

您可能与其他JavaScript模块存在冲突。查看jQuery noconflict

  

许多JavaScript库只使用$作为函数或变量名   就像jQuery一样。在jQuery的例子中,$只是jQuery的别名,所以   无需使用$即可使用所有功能。如果我们需要使用   另外一个JavaScript库和jQuery一起,我们可以返回控件   $通过调用$ .noConflict()

返回到其他库

尝试使用

jQuery('.classname').length