Javascript 选择一个元素,如果它有一个相邻的同级,也选择该元素
JSFIDLE 处理一个奇怪的问题。这可能不是最好的处理方法,但这是我知道的唯一方法Javascript 选择一个元素,如果它有一个相邻的同级,也选择该元素,javascript,jquery,Javascript,Jquery,JSFIDLE 处理一个奇怪的问题。这可能不是最好的处理方法,但这是我知道的唯一方法 我正在与Bandsintown合作,这可能是一个需要定制的皇家难题。它正在发射大量的元素。我想把所有的元素A都包装在一个中,但是如果元素B在元素A下面,我想把它们都包装在一起 之前: 元素A 元素A 元素A 元素A 元素B 元素A 元素A 之后: -元素A- -元素A- -元素A- 元素A元素B- -元素A- -元素A- 所以我知道如何选择相邻的同级元素,但我不确定如何选择相邻的同级元素和原始元素 想法 当
我正在与Bandsintown合作,这可能是一个需要定制的皇家难题。它正在发射大量的元素。我想把所有的元素A都包装在一个
中,但是如果元素B在元素A下面,我想把它们都包装在一起
之前:
元素A
元素A
元素A
元素A
元素B
元素A
元素A
之后:
-元素A-
-元素A-
-元素A-
- 元素A元素B-
$("div:not('.bit-event-description') + .bit-event-description").wrap("<div class='col-md-4 col-sm-4'></div>");
$(“div:not('.bit事件描述')+.bit事件描述”).wrap(“”);
这是在使用下一个同级选择器时添加上一个元素的方式
var el = $("tr:not('.bit-event-description') + .bit-event-description");
el.add(el.prev()).wrap("<div class='col-md-4 col-sm-4'></div>");
var el=$(“tr:not('.bit事件描述')+.bit事件描述”);
el.add(el.prev()).wrap(“”);
现在还不清楚这将如何包装元素A和B,因为没有标记或任何可能性来测试这一点?您确实应该为此设置一个提琴,但方法是缓存选择器并添加()prev()元素。看起来您正在关注无效的HTML标记“我想将它们包装在一起”是不是应该改成
.wrapAll()
?@A.Wolff-我实际上正要使用wrapAll,但不确定,因为很难看出它是如何工作的,所以我写了答案中的最后一行,但是眼光很好!