我得到错误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()
中包装它答案 0 :(得分:2)
这里没有冲突。
您正在使用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
答案 1 :(得分:0)