Javascript Jquery只切换单击的div下的p标记

Javascript Jquery只切换单击的div下的p标记,javascript,jquery,html,Javascript,Jquery,Html,快速简单的问题。 我现在有这个功能在工作 $("#menuopties").click(function(){ $("p").toggle(); }); 但是,这会切换每个p标记。 我只想切换div#菜单选项(已单击)下的p标记 谢谢。您当前的选择器“p”将获取p类型的所有元素,而不是获取当前对象中的p。用于获取当前元素的后代。您将使用$(this) 您可以在选择器的上下文中使用passcurrent对象 更改$('p').toggle()到$(this).children('p').togg

快速简单的问题。 我现在有这个功能在工作

$("#menuopties").click(function(){
$("p").toggle();
});
但是,这会切换每个p标记。 我只想切换div#菜单选项(已单击)下的p标记


谢谢。

您当前的选择器
“p”
将获取
p
类型的所有元素,而不是获取当前对象中的
p
。用于获取当前元素的后代。您将使用
$(this)

您可以在选择器的上下文中使用passcurrent对象

更改
$('p').toggle()
$(this).children('p').toggle()

$(this)
引用当前jQuery对象(在本例中是包装
#menuopties
DOM元素),因此运行
.children()
允许您通过所需的任何选择器筛选其子代元素(在本例中是
p

编辑:正如buzzsawddog指出的,需要注意的是
。children()
只返回DOM中下一级的子元素,因此如果您的
p
标记不是
#menuopties
的直接子元素,您应该使用
.find()

尝试这样做

$("#menuopties").click(function(){
$(this).find("p").toggle();
});
那么:

$("p", this).toggle();
尝试:


希望这能有所帮助。

您需要在#菜单选项下或在其内部?根据问题的范围,find()可能比.children()更好。例如,如果他的div中有另一个div呢?还是一个跨度?很好。我用了最简单的答案,因为他没有提供任何标记,但你绝对是对的。谢谢你的回答,实际上div包含了其他div。然而,你的回答仍然有用。非常感谢。谢谢,所有的答案都有效,但是你的答案是最完整的,不仅解决了问题,还教会了我一些东西。谢谢,谢谢,但我更喜欢第一个答案,因为它解释了原因。谢谢,谢谢你,但我更喜欢有解释的其他解决方案@r-d-r-b-3无问题:)我的朋友。谢谢,我帮了忙,但我更喜欢有解释的其他解决方案!
$("#menuopties").click(function(){
$(this).find("p").toggle();
});
$("p", this).toggle();
$("#menuopties").click(function(){
    $(this).find("p").toggle();
});