我正在修改一些代码,其中包含很多jQuery,但我不确定某些jQuery语句的作用。
在jQuery代码的顶部有:
jQuery.noConflict
*1. 我理解这一点。但是接下来有一些代码:
<script type="text/javascript">
(function($) {
$(document).ready(function() {
jQuery.fn.fixEmail = function() {
{
return $(this).each(function() {
var $s = $(this);
...code...
}
}
</script>
我知道jQuery被使用是因为它具有noConflict功能。那么$参数是什么?
*2. 在另一个函数中,他们使用了
<script type="text/javascript">
jQuery(function(){
var $ = jQuery;
var cc = {
mode : 'teaser',
featureVisible : true,
$loader : '<p class="loadingAnimation"><img height="32" src="' +
config.xoImgUrl +
'/images/ajax-loader.gif" width="32" /></p>',
....more code...
}
}
</script>
所以他们将$设置为来自noConflict的jQuery。但是为什么?他们不能只使用jQuery吗?
*3. 我想使用的插件是通过以下方式初始化的:
var $j = jQuery.noConflict();
var $ = {};
$j(document).ready(function(){
$j.history.init(pageload);
$j("a[@rel='history']").click(function(){
...more code...
});
});
我理解noConflict是什么,但var $ = {}
是什么意思?
var $ = jQuery;
部分,并将其设置为jQuery(function($){
。这只是一个想法。 - machineaddictvar $ = document.getElementById;
并尝试将其用作var myDiv = $("myDiv");
,但是我得到了一个TypeError: 'getElementById' called on an object that does not implement interface Document. error.
的错误。(我也尝试过($)("myDiv")
但是得到了相同的错误)。你能解释一下吗? - Bere