簡體   English   中英

從該特定父級中查找同級類以執行事件

[英]Finding sibling class from this specific parent to perform an event

我在頁面中有此HTML代碼的列表-要求是單擊.cta-button時,我要隱藏.title div並顯示.alternate-input div(均來自同一父級)-我為此編寫的jquery觸發了頁面上所有.alternate-input div的顯示。 不知道我在哪里錯了?

HTML

<div class="row">
    <div class="label">Abc</div>
    <div class="title">Xyz</div>
    <div class="alternate-input" style="display:none;">
       <input type="text" name="" value="Xyz">
    </div>
    <a href="#" class="cta-button">Call to action</a>
</div>

jQuery的

$(".cta-button").click(function() {
    $(this).parent().siblings().find(".title").hide();
    $(this).parent().siblings().find(".alternate-input").show();
});

我嘗試查看jquery文檔,這似乎可行

$(".cta-button").click(function() {
    $(this).closest('div').find(".title").hide();
    $(this).closest('div').find(".alternate-input").show();
});

.parent().siblings()正在查看div.row兄弟姐妹。 您只想使用$(this).siblings() 另外,不需要.find() ,可以將選擇器放在.siblings()

試試這個: JSFIDDLE

$(".cta-button").click(function() {
    $(this).siblings(".title").hide();
    $(this).siblings(".alternate-input").show();
});

您可以使用.parents()

$(".cta-button").click(function() {
    $(this).parents(".row").find(".title").hide();
    $(this).parents(".row").find(".alternate-input").show();
});

小提琴

暫無
暫無

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

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