我收到错误TypeError:$(...)为null。
<script>
$('w_pages').observe('change', function(){
parent.preview.location = 'W/preview/<?=$page['parent_id'] ?>/?p='+$('w_pages').value;
});
$('w_layout').observe('click', function(){
parent.preview.Tiny.showURL('S/layout/'+$('w_pages').value+'?ajax=true',true)
});
</script>
我读到那是因为冲突。我如何将其包装在noConflict()中
最佳答案
这里没有冲突。
您正在使用Prototype的dollar function,它返回对id等于其参数的元素的引用。如果页面中不存在此类元素,则它返回null
,这又将导致TypeError。
我不知道为什么页面中不存在这样的元素,或者如何使JS正常工作,但是您可以在调用方法之前检查返回值来避免出现立即错误:
var wPages = $('w_pages');
if (wPages) {
wPages.observe('change', function(){
parent.preview.location =
'W/preview/<?=$page['parent_id'] ?>/?p='+wPages.value;
});
}
// The same for w_layout
关于javascript - TypeError:$(…)为空-如何使用noconflict(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17852771/