Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 单击类上的函数_Jquery_Html_Class_Onclick_Toggle - Fatal编程技术网

Jquery 单击类上的函数

Jquery 单击类上的函数,jquery,html,class,onclick,toggle,Jquery,Html,Class,Onclick,Toggle,如果我想点击h3 show p,我该如何改进我的脚本?但是我有更多的元素,它们都是点击打开的。是否有必要提供所有h3 id $('.question h3').click(function(){ $('.question p').toggle(); }); p元素是h3元素的下一个兄弟元素。您可以将.next()与单击的元素一起jquery对象指向相关的p元素: $('.question h3').click(function(){ $(this).next().toggle(); });

如果我想点击h3 show p,我该如何改进我的脚本?但是我有更多的元素,它们都是点击打开的。是否有必要提供所有h3 id

$('.question h3').click(function(){
$('.question p').toggle();
});

p
元素是
h3
元素的下一个兄弟元素。您可以将
.next()
与单击的元素一起jquery对象指向相关的
p
元素:

$('.question h3').click(function(){
  $(this).next().toggle();
});
$('.问题h3')。单击(函数(){
$(this.next().toggle();
});

一个
p-1

两个 p-2

三 p-3


p
元素是
h3
元素的下一个兄弟元素。您可以将
.next()
与单击的元素一起jquery对象指向相关的
p
元素:

$('.question h3').click(function(){
  $(this).next().toggle();
});
$('.问题h3')。单击(函数(){
$(this.next().toggle();
});

一个
p-1

两个 p-2

三 p-3

你能这样试试吗:

通过
$.next()
我们瞄准了下一个DOM元素。

您可以这样尝试:

通过
$.next()
我们瞄准了下一个DOM元素。

正如
一样。next()
是出了名的脆弱(只需搜索诸如“为什么不.下一步工作”之类的问题),您可以将h3/p包装到另一个div中,从而在html布局上提供更好的灵活性

<div class="question">
    <div class='answer'>
        <h3>One</h3>
        <p>p - one</p>
    </div>
    <div class='answer'>
        <h3>Two</h3>
        <p>p - two</p>
    </div>
    <div class='answer'>
        <h3>Three</h3>
        <hr />
        <p>p - three</p>
    </div>
</div>

.next()
的另一种替代方法。是
.nextAll().first()
,即:

$('.question h3').click(function(){
    $(this).nextAll("p").first().toggle();
});
它还允许html具有更大的灵活性,并将与上面添加的

配合使用。

作为
.next()
是出了名的脆弱性(只需搜索诸如“why not.next work”之类的问题),您可以将h3/p包装到另一个div中,从而在html布局上提供更好的灵活性

<div class="question">
    <div class='answer'>
        <h3>One</h3>
        <p>p - one</p>
    </div>
    <div class='answer'>
        <h3>Two</h3>
        <p>p - two</p>
    </div>
    <div class='answer'>
        <h3>Three</h3>
        <hr />
        <p>p - three</p>
    </div>
</div>

.next()
的另一种替代方法。是
.nextAll().first()
,即:

$('.question h3').click(function(){
    $(this).nextAll("p").first().toggle();
});

它还允许在html中具有更大的灵活性,并将与上面添加的

配合使用。

@anniethcross如果此答案回答了您的问题,请将其标记为答案,并创建一个包含任何其他问题的新问题。请勿更改原始问题。@AnnieTheCross如果此答案回答了您的问题,请将其标记为答案,并创建一个包含任何其他问题的新问题。不要改变原来的问题。