0
<html>
<head>
<title></title>
<script type="text/Javascript" src="includes/scripts/jquery-1.7.2.min.js"></script>
<script type="text/Javascript">
$('a').click(function() {
  window.open($(this).attr('href') );
});
</script>
</head>
<body>
<div id="content">
<a href="somepage.html">Somepage</a>
<br />
<a href="somepage.html">Somepage</a>
<br />
<a href="somepage.html">Somepage</a>
<br />
<a href="somepage.html">Somepage</a>
<br />
<a href="somepage.html">Somepage</a>
</div>
</body>
</html>

我想用 jQuery .load() 打开页面中的所有链接。
但是我的代码似乎不起作用。
有任何想法吗?

4

2 回答 2

0
$('a').click(function(e) {
    $("#content").load($(this).attr('href') );
    e.preventDefault();
});

此代码将使得当用户单击您页面上的链接时,而不是转到该页面,该页面的内容将被加载到您的contentdiv 中。 e.preventDefault()将阻止链接的默认操作(离开页面)并将用户留在您的页面上。

现在,问题在于,一旦您单击了一个链接,加载到 div 中的任何内容都不会应用此代码。您可以通过使用带有 jquery 的事件委托on(或旧 jquery 版本中的委托)来解决这个问题。

$("#content").on("click", "a", function(e) {
    $("#content").load($(this).attr('href') );
    e.preventDefault();
});

此代码适用于 中的所有链接#content,包括最初的链接以及稍后加载的链接。

于 2012-05-08T19:21:16.803 回答
0
$(function () {
    $('a').each(function() {
      window.open($(this).attr('href') );
    });
});

click实际上是点击 HTMLElement 的动作。每个都是通过它们的循环。

把所有东西都包装进去$();告诉 jQuery,

“嘿,在一切准备就绪之前,不要运行我。我希望所有 DOM 元素都是可寻址的。”

它是$(document).ready [doc]的简写。

于 2012-04-06T01:20:22.593 回答