簡體   English   中英

jquery .load()僅加載第一個請求

[英]jquery .load() only loads the first request

我將使其簡單化:

我有:

<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個請求,僅第一個按鈕加載,其他按鈕不加載,我檢查了鏈接和工作。

元素的ID必須唯一。

ID-屬性

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

使用類屬性對相似元素進行分組

<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-selector時,它將獲取具有給定id的第一個元素,因此您的點擊處理程序將僅注冊到第一個鏈接元素

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

此處重復id ID必須是唯一的。

當您使用ID選擇器進行選擇時,jQuery將僅返回一個元素,因為ID在頁面上必須唯一。 因此,只有一個href被加載。 您必須按以下方式將選擇器更改為類選擇器。 請注意,這兩個鏈接現在具有不同的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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM