即使元素存在,我的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找到屏幕截图
还有一点,如果您在其他一些网站上尝试此操作,它可以正常工作。
答案 0 :(得分:2)
您可能与其他JavaScript模块存在冲突。查看jQuery noconflict
许多JavaScript库只使用$作为函数或变量名 就像jQuery一样。在jQuery的例子中,$只是jQuery的别名,所以 无需使用$即可使用所有功能。如果我们需要使用 另外一个JavaScript库和jQuery一起,我们可以返回控件 $通过调用$ .noConflict()
返回到其他库
尝试使用
jQuery('.classname').length