2013-12-13 86 views
0

我將使它簡單:jQuery的.load()只加載第一次請求

我:

<a id="edit" data-link="mylink">Edit</a> 
<a id="edit" data-link="mylink2">Edit2</a> 
<div id="modal"> 

</div> 

<script> 
    $('#edit').click(function(){ 
     var href = $(this).data('link'); 
     $("#modal").load(href); 
    }); 
}); 
</script> 

它的工作原理,但只有第一個按鈕,不與第一要求,只有第一按鈕,它可能是第10個請求,只有第一個按鈕加載,其他的不加載,我檢查了鏈接和工作。

+1

ID **必須是唯一的。 – j08691

+1

你永遠不要在頁面上使用相同的ID兩次。那些必須是獨一無二的。參考:https://developer.mozilla.org/en-US/docs/Web/API/Element.id – Charlie74

回答

3

ID一個元素必須是唯一的。

ID - 屬性

id屬性指定其元素的唯一標識符(ID)。 值必須在元素的主子樹 中的所有ID中唯一,並且必須至少包含一個字符。值不得包含 任何空格字符

使用class屬性組相似的元素

<a class="edit" data-link="mylink">Edit</a> 
<a class="edit" data-link="mylink2">Edit2</a> 

然後用class selctor

$('.edit').click(function(){ 
     var href = $(this).data('link'); 
     $("#modal").load(href); 
    }); 
}); 

當您使用ID選擇器,將取回第一具有給定ID的元素,因此您的點擊處理程序僅註冊到第一個鏈接元素

+0

謝謝,我忘了ID需要是唯一的 –

0
<a **id="edit"** data-link="mylink">Edit</a> 
<a **id="edit"** data-link="mylink2">Edit2</a> 

重複id這裏。 ID必須是唯一的。

0

當您選擇使用ID選擇器時,jQuery將只返回一個元素,因爲ID在頁面上必須是唯一的。因此只有一個href被加載。 YOu必須按如下方式將您的選擇器更改爲類選擇器。請注意,這兩個鏈接現在有不同的ID並具有一個公共類。多個元素可以具有相同的類,jQuery選擇器將返回具有該特定類的所有元素(本例中爲「EditLink」)

<a id="edit1" class="editLink" data-link="mylink">Edit</a> 
<a id="edit2" class="editLink" data-link="mylink2">Edit2</a> 
<div id="modal"> 

</div> 

<script> 
    $('.editLink').click(function(){ 
     var href = $(this).data('link'); 
     $("#modal").load(href); 
    }); 
}); 
</script> 
相關問題