2012-03-05 123 views
0

我試圖給出相同的功能,2個元素jQuery的多個元素。點擊(函數()

下面是我得到了什麼這是行不通的。

$(document).ready(function() { 
    $('#menu a, p.bodytext a').click(function() { 
     $('#content_bg').load($(this).attr('href')+' #content'); 
     return false; 
    }); 
}); 

現在工作,如果我是這樣的:

$(document).ready(function() { 
    $('#menu a').click(function() { 
     $('#content_bg').load($(this).attr('href')+' #content'); 
     return false; 
    }); 
}); 

或像這樣:

$(document).ready(function() { 
    $('p.bodytext a').click(function() { 
     $('#content_bg').load($(this).attr('href')+' #content'); 
     return false; 
    }); 
}); 

但是不能和他們一起工作。

建議?

+0

你能告訴我們你的HTML? – 2012-03-05 21:40:39

+2

代碼對我來說看起來很好。 – 2012-03-05 21:41:57

+0

這似乎不太可能;你確定選擇器是正確的嗎?你有沒有錯過一個逗號,或拼寫錯誤? – 2012-03-05 21:42:16

回答

0

試試這個:

$(function() { 
    $('#menu, p.bodytext').find('a').on('click', function() { 
     $('#content').load($(this).attr('href')+' #content'); 
     return false; 
    }); 
}); 
0

使用類的名稱,而不是ID。

$(document).ready(function() { 
    $('.myClass').click(function() { 
     $('#content').load($(this).attr('href')+' #content'); 
     return false; 
    }); 
}); 
+0

#menu a works,it's the p.bodytext a that that does not with the code I'm using。 – Nicole 2012-03-05 22:04:37

0

我建議添加一個接收參數'e'並執行e.preventDefault()。

這樣

$(document).ready(function() { 
    $('#menu a, p.bodytext a').click(function(e) { 
    e.preventDefault(); 
    $('#content').load($(this).attr('href')+' #content'); 
    return false; 
    }); 
});