Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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_Twitter Bootstrap - Fatal编程技术网

Javascript jQuery修改元素子级

Javascript jQuery修改元素子级,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我的引导列表在每个项目上都有一个“添加”按钮。单击add之后,我修改该项并将其添加到另一个列表组 但是如果我修改按钮元素,什么都不会发生。我不知道为什么,我尝试了很多方法,但都不管用 这是默认项: <div class="list-group-item" data-id="399"> <div class="input-group input-group-sm"> <span class="input-group-addon" style="wid

我的引导列表在每个项目上都有一个“添加”按钮。单击add之后,我修改该项并将其添加到另一个列表组

但是如果我修改按钮元素,什么都不会发生。我不知道为什么,我尝试了很多方法,但都不管用

这是默认项:

<div class="list-group-item" data-id="399">
   <div class="input-group input-group-sm">
      <span class="input-group-addon" style="width:100%">Item-Name</span>
      <div class="input-group-btn">
         <button type="button" class="btn btn-success item-add">+</button>
      </div>
   </div>
</div>

项目名称
+
这就是我想要的:

<div class="list-group-item" data-id="399">
   <div class="input-group input-group-sm">
      <span class="input-group-addon" style="width:100%">Item-Name</span>      
      <input class="form-control" placeholder=" Suchbegriffe" value="" style="min-width:150px;" type="text">
      <div class="input-group-btn">
         <button type="button" class="btn btn-success item-remove">x</button>
      </div>
   </div>
</div>

项目名称
x
“.item add”jQ函数:

var elem = $(this).parent().parent();

$(elem).children(':eq(last)').removeClass('btn-success').addClass('btn-danger');    
$(elem).children(':eq(0)').after('<input type="text" class="form-control" placeholder=" Suchbegriffe" value="' + $('#parameters').val() + '" style="min-width:150px;">');
$(elem).children(':eq(0)').html($(elem).children(':eq(0)').html().substr(0, 15) + '...');

elem = $(elem).parent();

$('#item-list-search').append(elem);
var elem=$(this.parent().parent();
$(elem).children(':eq(last)').removeClass('btn-success').addClass('btn-danger');
$(elem).children(':eq(0)')。在('')之后;
$(elem).children(':eq(0)').html($(elem).children(':eq(0)').html().substr(0,15)+'…');
elem=$(elem.parent();
$(“#项目列表搜索”).append(elem);
如果我使用
console.log($(elem.children)(':eq(last)')
它显示
元素,但没有任何更改

$(elem).children(':eq('+last+')').removeClass('btn-success').addClass('btn-danger');

last
是JavaScript变量。因此,它应该用字符串将其连接起来

$(elem).children(':eq('+last+')').removeClass('btn-success').addClass('btn-danger');
与此相反:

$(elem).children(':eq(last)').removeClass('btn-success').addClass('btn-danger');

因为你必须把它凝聚起来,使它看起来像一根绳子。因为最后一个是JavaScript。现在按钮将实际更改。

我为您做了一个JSFIDLE,请参见此处

有了这个js:

$('.item-add').click(function() {
    if (!($('#newitem').length > 0)) {
        $('.item-add').parents('.input-group-btn').prepend('<input id="newitem" type="text" class="form-control" placeholder=" Suchbegriffe" value="' + $('#parameters').val() + '" style="min-width:150px;">');
        $(this).removeClass('btn-success').addClass('btn-danger'); 
    }

});
$('.item add')。单击(函数(){
如果(!($('#newitem')。长度>0)){
$('.item add').parents('.input group btn').prepend('');
$(this).removeClass('btn-success').addClass('btn-danger');
}
});