簡體   English   中英

jQuery匹配具有相同ID /類的多個元素

[英]Jquery matching multiple elements with same id/class

當一個特定元素的寬度小於50時,我正在努力顯示一條消息,但是有多個具有相同類的元素,並且頁面中只有第一個元素正在顯示消息。 這是jsfiddle http://jsfiddle.net/MaNdn/23/

這是功能。

function checkads() {
    if ($('#container').height() < 50) {
        $('#container').parent().parent().prepend('<div id="ad-notice">Please support our website</div>');
    //
}
}

$(document).ready(checkads);

我的問題是,如何使消息優先於找到的所有元素ID實例。 我在我的網站上各種廣告,它們都被包裹在一個名為div的元素advertisement_container那么我該如何配合他們一次全部

您需要使用each()來迭代匹配的元素。 與其為多個元素使用相同的id,而是使用同一類,因為element的id 應該是唯一的 要選擇具有相同類的多個元素,可以使用$('[id = container]')之類的屬性選擇器,但最好使用類並保持元素的id 唯一

現場演示

function checkads() {
    $('.someclass').each(function(){           
       if($(this).height() < 50) {
             $(this).parent().parent().prepend('<div id="ad-notice">Please support our website</div>');
       }
   });
}

$(document).ready(checkads);

ID必須是唯一的。 將其更改為類而不是ID,然后可以使用過濾器和類似

function checkads() {
    $('.container').filter(function (index) {
        return $(this).height() < 50;
    }).parent().parent().prepend('<div id="ad-notice">Please support our website</div>');
}

暫無
暫無

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

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