2016-06-08 110 views
0

我在產品頁面上創建評論模塊,我在其中顯示垃圾評論選項,在那裏我顯示onclick顯示和隱藏彈出。現在它在單個評論中工作正常,但當評論是兩個時,它會一次打開,因爲類是相同的。現在,這就是爲什麼我想要得到父李ID,以便我們可以發現只有內部類ID的不是另一個如何通過點擊兒童ID,然後通過獲得父母id通過jquery找到父ID

這裏是我的jsfiddle鏈接

這是我的腳本

$(".slidermenudown .fa-angle-down").on("click",function(){ 

if($(".anthr_usr_cmnt").hasClass("active")){ 

    $(".anthr_usr_cmnt").removeClass("active"); 

    }else{ 
    if($(".owner_cmnt").hasClass("active")){ 
     $(".owner_cmnt").removeClass("active"); 
    } 
    $(".anthr_usr_cmnt").addClass("active"); 
    } 

}); 

回答

0

試試這個,我已經修改了你的提琴本身和你的CSS也。

https://jsfiddle.net/Lse3s3uv/3/

.active{ 
 
    display:block; 
 
}

$(".slidermenudown .fa-angle-down").on("click", function() { 
 

 
    var $this = $(this).parents('.comment'); // "this" is the click's target. 
 
    console.log($this); 
 
    var $anthr = $this.find(".anthr_usr_cmnt"); 
 
    console.log($anthr); 
 
    var $owner = $this.find(".owner_cmnt"); 
 
    console.log($owner); 
 

 
    if ($anthr.hasClass("active")) { 
 
    $anthr.removeClass("active"); 
 
    } else { 
 
    if ($owner.hasClass("active")) { 
 
     $owner.removeClass("active"); 
 
    } 
 
    //to remove hide others 
 
    $('.anthr_usr_cmnt').removeClass('active'); 
 

 
    $anthr.addClass("active"); 
 
    } 
 
});

+0

非常感謝您節省了我很多時間,它像一個魅力:) –

+0

歡迎您! ;) – BlackBurn027

+0

你能告訴我如何隱藏到第一個時,我會點擊第二個? –

1

試試這個:

JS

$(".slidermenudown .fa-angle-down").on("click",function(){ 
    var parentli = $(this).parents('li').attr("id"); 
    var thisBox = $("#"+parentli).children().find(".anthr_usr_cmnt"); 
    if(thisBox.hasClass("active")){ 
     thisBox.removeClass("active"); 
    }else{ 
     $(".anthr_usr_cmnt.active").removeClass("active"); 
     thisBox.addClass("active"); 
    } 
}); 

CSS

.active{ 
    display:block; 
} 
+1

嗨你的代碼工作正常,但你看到的是我的HTML代碼,我想只有父李ID和在那裏我想找到'.anthr_usr_cmnt'並且想在其上添加活動類 –

+0

立即檢查。我做了一個編輯@jayantrawat – sabith

+0

對不起,忘了提及關於css @jayantrawat – sabith

0

使用$(this)來引用事件的目標對象。

從那裏,你可以做$(this).find('.some-child-object')$(this).parents('.some-ancestor')甚至$(this).sibblings('div')

$(".slidermenudown .fa-angle-down").on("click",function() { 
    var $this = $(this); // "this" is the click's target. 
    var $anthr = $this.find(".anthr_usr_cmnt"); 
    var $owner = $this.find(".owner_cmnt"); 

    if ($anthr.hasClass("active")) { 
     $anthr.removeClass("active"); 
    } 
    else { 
     if ($owner.hasClass("active")) { 
      $owner.removeClass("active"); 
     } 
     $anthr.addClass("active"); 
    } 
}); 
+0

除非「$ this」包含向下按鈕對象不是父div,因此$ this.find()不能按預期工作。 – BlackBurn027

+0

感謝您的回覆,但它不適用於我 –

+0

如果沒有錯誤,您的filddle缺少可能需要的bootstrap js文件。 – BlackBurn027