gpt4 book ai didi

jquery - 使用 .before();之后();包裹元素

转载 作者:行者123 更新时间:2023-12-03 23:00:38 26 4
gpt4 key购买 nike

我正在尝试包装 <label> , <input type="text" /> ,和<select>具有 <div class="formItem"></div> 的元素修复我无法直接编辑的表单上的某些定位。由于某种原因,当我尝试使用以下代码时:

$("label").before("<div class=\"formItem\">");
$("input[type=text]").after("</div>");
$("select").after("</div>");

这不起作用。它只是添加 <div class="formItem"></div>在每个 <label> 之前这对我没有帮助。

我查看了.wrap();但目前尚不清楚如何使用它来包装多个元素,就像我想做的那样。以下是 HTML 标记的示例:

<label>Text Box</label>
<input type="text" name="Text Box" />

<label>Select Menu</label>
<select name="Select Menu">
<option>Example</option>
</select>

大约有 10 个集合、9 个文本框和 1 个选择框(如果有的话)。

最佳答案

这并不是 jQuery API 的工作原理。完全没有。

.before():

Insert content, specified by the parameter, before each element in the set of matched elements.

.after():

Insert content, specified by the parameter, after each element in the set of matched elements.

<小时/>

不要用开放标签和封闭标签来思考。从实际元素的角度思考。

您可能正在寻找.wrapAll() .

$('label').each(function () {
$(this).next('input, select').andSelf().wrapAll('<div class="formItem"/>');
});

关于jquery - 使用 .before();之后();包裹元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15487067/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com