javascript - 我怎样才能选择这些元素并包装它们?

标签 javascript jquery html

我有一个标题,后跟两个 radio 输入,我需要将它们包装起来,以便我可以将它们设置为表单样式

<p><strong>Country</strong></p>
<div class="radioWrapper">
     <span class="label">Canada</span>
     <span class="radio">
          <input type="radio" value="Canada">
     </span>
</div>
<div class="radioWrapper">
     <span class="label">US</span>
     <span class="radio">
          <input type="radio" value="US">
     </span>
</div>

这就是我所拥有的,围绕整个东西我想要一个包含 div。我试着写了一些 jquery,但没用 -

$( "strong:contains('Country')" ).nextAll( "div.radioWrapper" ).wrapAll("<div class='RadioWrap'></div>");

谁能帮我指出正确的方向

最佳答案

你几乎是正确的。只需选择父 p 元素并从那里搜索下一个 .radioWrapper。请注意,您还必须将 p 包含在 andSelf 方法中:

$( "strong:contains('Country')")
    .closest('p')
    .nextAll("div.radioWrapper").andSelf()
    .wrapAll("<div class='RadioWrap'></div>");

或者使用 nextUnti 方法的另一个版本:

$("strong:contains('Country')")
    .closest('p')
    .nextUntil(":not(.radioWrapper)").andSelf()
    .wrapAll("<div class='RadioWrap'></div>");

查看下面的演示。

$( "strong:contains('Country')").closest('p').nextAll( "div.radioWrapper" ).andSelf().wrapAll("<div class='RadioWrap'></div>");
.RadioWrap {background: #EEE;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p><strong>Country</strong></p>
<div class="radioWrapper">
     <span class="label">Canada</span>
     <span class="radio">
          <input type="radio" value="Canada">
     </span>
</div>
<div class="radioWrapper">
     <span class="label">US</span>
     <span class="radio">
          <input type="radio" value="US">
     </span>
</div>

关于javascript - 我怎样才能选择这些元素并包装它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27623275/

相关文章:

jquery - block 元素 - 如何将事件仅指向文本

html - 嵌套 div、工具栏的另一个 100% 高度问题

javascript - 如何使 HTML 上的基金标志可见?

html - 与 HtmlAgilityPack 的多个属性匹配的 Xpath 表达式

html - 镜像 HTML 5 视频

javascript - 同一页面上单个商店的多次使用

javascript - 动态创建模型

javascript - 如何在提示前进行 console.log

javascript - 如何从命令行获取使用 javascript 的远程网页的信息来显示该网站上的信息?

javascript - 如何根据属性在类中的位置获取元素的具体名称