网上查资料和不断尝试,终于找到原因了.
1)网上一种解释:
If you are trying to add your own jQuery code to WordPress, and have had the error “$ is not a function” show up on Firebug, here is the fix:
Convert all dollar signs ($) to ‘jQuery’
The dollar sign is reserved in WordPress for the Prototype library, which is why it errors out. For example, instead of:
1
2
3
|
$().ready(
function
() {
$(
"#select_me"
).show();
});
|
Change it to:
1
2
3
|
jQuery().ready(
function
() {
jQuery(
"#select_me"
).show();
});
|
2)按照上面该法没作用. Error msg 变成: jQuery(***).dialog is not a function.
一个下午的努力, 觉得可能是js冲突所致. 一行行删代码, 发现是下面一行. 原来不是方法冲突, 而是引用冲突吧?!
"<script src="<session:constant name='ContextPath'/>/js/jquery-1.8.5/js/jquery-1.4.2.min.js" type="text/javascript"></script>". 在内部Frame的jsp中, 这样一行删除就OK了. 可能是外部已经引用了, 删除后jQuery的方法都正常了.