我想知道是否有一种方法可以将jQuery对象拆分成多个部分(基于选择器),但是不使用基本的javascript split();
方法,该方法只适用于字符串。< / p>
我希望能够做到:$("body").splitBySelector("br").each();
等等......
<html>
<head></head>
<body>
<h1>Heading</h1>
<p>Some text</p>
<p>More text</p>
<br />
<h2>Sub Heading</h2>
<p>Some other text</p>
<br class="atrivialexample"/>
<p>Yet more text</p>
<p>and another</p>
</body>
</html>
但是正如您可以看到我是否使用split();
函数,我将无法考虑任何类或ID或标记中可能存在或不存在的任何其他属性。而且我不会返回jquery对象,所以我可以继续链接。
解决方案越简单越好。
答案 0 :(得分:1)
听起来你的HTML应该是这样的:
<html>
<head></head>
<body>
<div id="block1">
<h1>Heading</h1>
<p>Some text</p>
<p>More text</p>
</div>
<div id="block2">
<h2>Sub Heading</h2>
<p>Some other text</p>
</div>
<div id="block3">
<p>Yet more text</p>
<p>and another</p>
</div>
</body>
</html>
然后,嗯,你知道该怎么做。
否则,如果您坚持,.nextUntil
可能属于use。文档页面上的示例与您所询问的内容非常相似。
答案 1 :(得分:1)
根据您要做的事情(因为我不能将其视为有用的IRL),您可以使用拆分。
var html = $("body").html().split(/<br[^>]?>/gi);
for(var i = 0; i < html.length; i++){
// $(html[i]) etc.
}
这不是真正有用,因为在for循环中创建的jQuery对象与页面上的内容没有任何关系,只是作为副本...