Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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 jQuery选择元素,然后一起下一步_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery选择元素,然后一起下一步

Javascript jQuery选择元素,然后一起下一步,javascript,jquery,html,Javascript,Jquery,Html,我有一个自动生成的HTML,我想把元素组合在一起 输入Html: <div class="editor-label"><label for="StringField">StringField</label></div> <div class="editor-field"><input id="StringField" type="text" value="" /></div> <div class="ed

我有一个自动生成的HTML,我想把元素组合在一起

输入Html:

<div class="editor-label"><label for="StringField">StringField</label></div>
<div class="editor-field"><input id="StringField" type="text" value="" /></div>

<div class="editor-label"><label for="IntField">IntField</label></div>
<div class="editor-field"><input id="IntField" name="IntField" type="number" value="0" /></div>

<!-- more like above -->
我可以使用什么选择器来选择元素(
.editor label
)及其下一个(
.editor field
)作为一个“元素”?

试试这个

$('.editor-label').each(function(){
   var group = $(this).next().addBack().wrapAll('<div class="form-group"></div>');
});
$('.editor标签')。每个(函数(){
var group=$(this.next().addBack().wrapAll(“”);
});

您可以使用jQuery
同级
方法:

$(".editor-label").siblings(".editor-label")
使用
.each()
.addBack()
.wrapAll()

$('.editor-label').each(function(){
  $(this).next(".editor-field").addBack().wrapAll("<div class='form-group'/>");
});
$('.editor标签')。每个(函数(){
$(this).next(“.editor字段”).addBack().wrapAll(“”);
});

.each()
将以回调中的所有所需元素为目标,找到
.next(.editor字段”)
,添加回起始选择器(当前
.editor标签
)和
wrapAll()
在所需的元素中

您需要在for each中进行选择,而不是单独使用选择器

$(“.editor标签”)。每个(函数(){
var lab=$(本);
var inp=$(lab.next();
实验室添加(inp).wrapAll(“”);
});
.wrapper{border:2px纯黑色;}

斯特林菲尔德
因特菲尔德

看看这是否可行

var fields = $('.editor-field');
$.each(fields, function(index, obj){
    var field = $(obj);
    var label = field.prev('.editor-label');
    field.wrap('<div class='form-group'></div>').before(label);
});
var字段=$('.editor字段');
$.each(字段、函数(索引、对象){
变量字段=$(obj);
var label=field.prev('.editor label');
字段。包装(“”)。在(标签)之前;
});

andSelf是deprecated@AmitJoki我知道我只是从我的第一个jsbin复制代码。这将选择所有兄弟姐妹
$('.editor-label').each(function(){
  $(this).next(".editor-field").addBack().wrapAll("<div class='form-group'/>");
});
var fields = $('.editor-field');
$.each(fields, function(index, obj){
    var field = $(obj);
    var label = field.prev('.editor-label');
    field.wrap('<div class='form-group'></div>').before(label);
});