我创建了一个网站,用户可以在其中提问并允许其他人回复。这些问题包含在div
中,然后包含另一个div
,其CSS属性为display: none
。
我在母亲div
中有一个按钮,然后打开包含回复或评论表单的div。我的代码工作正常,
现在,我唯一的问题是每当我点击评论按钮时,它都会打开所有其他回复部分div
,即使在用户未点击的问题中也是如此。
如何获取用户点击回复按钮的特定div,只打开该母版div的回复表单而不是所有其他回复表单?
答案 0 :(得分:0)
jQuery的:
$(".button").click(function(){
//here the button element is pointed by -this-!!!
//so "this" is the element contained in your div...
$(this).parent("questionDiv") //<- will point to the div that contain the button
//so, having the button (this), you can get the parent element that contain the question and in it the mother div
});
.parent(),同时检查.closest()和.siblings()
希望这能澄清我从你的问题中理解的内容:)
我会假设一些事情......
DOM:您的HTML代码
<div class="mother">
<div class="question">
<button class="respBtn">Respond</button>
</div>
<div class="respond"> ..more elemnts.. </div>
</div>
jquery的:
$(document).ready(function(){
$(".respBtn").click(function(){
console.log("click");
//here goes the code that shows the div
let moderDiv = $(this).parents(".mother");
console.log(moderDiv.html());
moderDiv.find("div.respond").each(function(){
$(this).show();
});
});
});
CSS:
.respond{
display : none ;
}
这是一个例子...... jquery负责知道哪个按钮被按下了ans指向DOM的右边部分。
希望这能澄清我的想法:)