js错误提示:对象不支持此属性或方法。
调试中断语句处:var varName=$(id).getElementsByTagName("li");
var listLength = varName.length;
调试时指向listLength语句出错:对象不支持此属性或方法。
在上面出现错误语句的a.js文件中有定义:
function $(id) { return document.getElementById(id); }
在之后的div中有调用b.js。页面中有如下格式的调用:
$(function( ) { $("#id").show( ); })
现象是:如果注释掉对b.js的引用,那么与a.js有关的功能均能正常实现。如果恢复对b.js的引用,那么与b.js有关的功能正常,但与a.js有关的功能不能正常实现。
请问:是什么原因?如何解决?
追问:a.js是js。b.js是引用的jQuery。
现在调试时是这句出错:var varName=$(id).getElementsByTagName("li");
如果注释掉a.js中的$,js是否可以调用jQuery中的$ ?js中该如何修改?
答案:定义的$冲突了,看$(function( ) { $("#id").show( ); })应该是引用了jQuery吧。如果是把a.js的改了用jQuery操作
var listLength = $("li", "#"+id).length;
如果不是引用的jQuery,那你只能改其中的一个$ function,如function $(id) { return document.getElementById(id); }改成function $$(id) { return document.getElementById(id); }
还有jQuery中可以把$映射回原始的对象使用jQuery.noConflict();如果这样的话,$(function( ) { $("#id").show( ); })就得写成$(function( ) { jQuery("#id").show( ); })
其他:function $(obj){
return document.getElementById(obj)
}
var maxWidth=$("img").getElementsByTagName("ul")[0].getElementsByTagName("li").length*230;
我的也是出现这样的错,要怎么改呢
上一个:js 回车替换空格
下一个:HTML JS进 怎么用一张图片来覆盖提交按钮