Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.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
Javascript 消除H1之前的中断_Javascript_Jquery_Html - Fatal编程技术网

Javascript 消除H1之前的中断

Javascript 消除H1之前的中断,javascript,jquery,html,Javascript,Jquery,Html,我有一个页面是这样的: <div id="contBody"> <br /> <br /> <!-- Maybe more, it's a variable number of <br /> that can appear --> <h1 id="header">Test</h1> </div> $("#header").prevAll("br").remove();

我有一个页面是这样的:

<div id="contBody">
    <br />
    <br />
    <!-- Maybe more, it's a variable number of <br /> that can appear -->
    <h1 id="header">Test</h1>
</div>
$("#header").prevAll("br").remove();

由于我和我希望以编程方式删除变量之前的变量数,如何使用jQuery执行此操作?

如果要删除h1元素之前的所有变量,请执行以下操作:

$('br + h1').prevAll('br').remove();
使用,将查找前面至少有一个元素的所有元素


然后,它使用该方法选择前面的元素,并使用该方法删除它们。

您可以使用和找到所有元素,如下所示:

<div id="contBody">
    <br />
    <br />
    <!-- Maybe more, it's a variable number of <br /> that can appear -->
    <h1 id="header">Test</h1>
</div>
$("#header").prevAll("br").remove();

请记住,br+h1是一个更昂贵的非本机选择器,并没有增加多少好处,只需从使用本机可运行选择器找到的已知节点执行.prevAll操作会更快。另外,这需要紧跟在前面,不确定是否是这样。@Nick:br+h1是querySelectorAll的本机选择器。@Nick:也可能是任何在前面没有相邻`的元素都应该避免。这个问题似乎表明有不止一个目标,并且元素是相邻的。不是在所有版本的jQuery中,而去ogg h1或header可以一直工作。我不确定这一点,OP必须插话,因为id=header非常具体,他可能只考虑一次使用,在这种情况下$'header'会更快更安全。