我想選擇所有內部鏈接,這些鏈接位於我的文檔中,但不包括位於特殊div中的鏈接。jQuery - 無法過濾div的鏈接
以下所示爲我的網站佈局的例子:
<div id="toppanel">
<a href="test.php">Test</a>
</div>
<div id="page">
<div id="content"></div>
<div id="menu">
<a href="menu1.php">Menu1<a>
<a href="menu2.php">Menu2<a>
</div>
</div>
<div id="footer">
<ul>
<li><a href="index.php">Startseite</a></li>
<li class="sep">|</li>
<li>Datenschutz</li>
<li class="sep">|</li>
<li>Impressum</li>
</ul>
</div>
我的jQuery代碼如下:
$("a[target!='_blank']").not('#toppanel').live("click", function(event) {
event.preventDefault();
var href = $(this).attr('href');
$.get(href, function(data) {
$('#content').html(data);
});
});
的問題是,這種沒有任何鏈接的正常工作。如果我使用沒有使用not()語句的jQuery代碼,所有工作正常的鏈接,但也是#toppanel-div中的一個,我想阻止它,因爲這些鏈接以另一種方式使用。
不錯的解決方案有一點缺陷:event.preventDefault()會有效地取消事件。因此,'#toppanel'內部的鏈接根本不起作用(不管你是否返回true來讓事件冒泡,它已經被取消)。 – vzwick 2012-03-28 09:07:18
謝謝,好點 - 修正。 – 2012-03-28 09:09:23
從jQuery 1.7開始,建議不要使用live,因爲它已被棄用,並且會在下一個版本中刪除。相反,你應該使用'$( '身體')上( '點擊', '一[TARGET = 「_空白」!]',函數(E){...});' – iMoses 2012-03-28 09:14:53