jQuery问题,jQuery接管页面上的所有链接

时间:2010-04-16 03:47:28

标签: javascript jquery

<script type="text/javascript">
$(document).ready(function() {
    $("a").click(function() {
        $("#results").load( "jquery-routing.php", { pageNo: $(this).text(), sortBy: $("#sortBy").val()} );
        return false;
    });
});    
</script> 

  <div id="results"> </div>    
<a href="jquery-routing.php?p=1">1</a>
<a href="jquery-routing.php?p=2">2</a>

该代码工作正常,只有在我运行它之后所有我的href链接停止工作的问题!链接成为jquery ajax调用..为什么?

4 个答案:

答案 0 :(得分:1)

$("a")选择器与所有<a ...>标记匹配,您需要将其更改为更具体的内容:

$("a#someid")
$("a.someclass")
$("div#somecontainer a")

答案 1 :(得分:0)

您在页面上设置所有锚标记的onclick事件。请尝试仅选择您想要的链接,而不是更通用的$(“a”)

答案 2 :(得分:0)

要定位特定链接,请在锚标记上使用id或class标记。 E.g。

<a class="link1" href=""></a>
<a id="link2" href-""></a>

请注意,ID标记在页面中是唯一的,只能使用一次。 使用以下命令在jQuery中引用这些链接:

$('a.link1').click(function() {}
$('#link2').click(function() {}

或者你可以将两者结合起来:

$('a.link1, #link2').click(function() {}

您需要做的是为将调用ajax请求的链接分配id或class标记。例如。 <a class="ajax" href="">ajax</a>并使用$('a.ajax').click(function () {}

引用它

答案 3 :(得分:0)

您的选择器$(“a”)表示您网页中的所有hiperlink。

您可能需要为希望ajax调用工作的hiperlink提供一个特定的id,然后根据它更改选择器。

例如:

<a id= "my-link" href="" >ddd</a>

$("a#my-link").click()