Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/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/Hide don'隐藏动态附加div;行不通_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 使用jQuery/Hide don'隐藏动态附加div;行不通

Javascript 使用jQuery/Hide don'隐藏动态附加div;行不通,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图使用hide()隐藏带有jQuery的附加div,但不起作用 我还附加了触发动作的按钮 这是按钮: <button type="button" class="btn btn-danger btn-xs" name="'+response[i][0]+'" id="studentContactDeleteButton" style="width:110px">Eliminar registro</button> 单击可以正常工作,因为我获得了id的值(respons

我试图使用hide()隐藏带有jQuery的附加div,但不起作用

我还附加了触发动作的按钮

这是按钮:

<button type="button" class="btn btn-danger btn-xs" name="'+response[i][0]+'" id="studentContactDeleteButton" style="width:110px">Eliminar registro</button>
单击可以正常工作,因为我获得了id的值(
response[i][0]
具有id的值),但是
$(“#studentContactContainer”+id).hide()不起作用,仅隐藏div的边框顶部,而不是全部

希望有人有主意


谢谢。

您正在使用。以错误的方式追加函数。您必须传递一个完整的div作为参数,而不是在不同的部分

$("#contactData").append('<div id="studentContactContainer'+response[i][0]+'"></div>');
$(“#contactData”)。附加(“”);
在将所有组添加到新contactContainer后,如下所示:

$("#studentContactContainer"+id).append(<div class="form-group"></div>)
                                .append(<div class="form-group"></div>);
                                .append(<div class="form-group"></div>);
$(“#studentContactContainer”+id).append()
.append();
.append();

循环中的第一条append语句将附加容器,但随后的append语句不会将指定的div附加到新容器

我想你想要更像这样的东西

$('<div id="studentContactContainer'+response[i][0]+'"/>')
    .appendTo('#contactData')
    .append('<div>child div 1</div>')
    .append('<div>child div 2</div>');
var html = '<div id="studentContactContainer'+response[i][0]+'"><div>child 1</div><div>child 2</div></div>';
$('#contactData').append(html);
$(“”)
.appendTo(“#contactData”)
.append('child div 1')
.append('child div 2');
为了获得更好的性能,请在添加整个html字符串之前编写它,如下所示

$('<div id="studentContactContainer'+response[i][0]+'"/>')
    .appendTo('#contactData')
    .append('<div>child div 1</div>')
    .append('<div>child div 2</div>');
var html = '<div id="studentContactContainer'+response[i][0]+'"><div>child 1</div><div>child 2</div></div>';
$('#contactData').append(html);
var html='child 1child 2';
$('#contactData')。附加(html);

<> P>为了便于维护,您可能需要考虑一个模板引擎,如

不应该在循环中使用学生CaseCeleDeleButt的ID。如果循环运行不止一次,那么它是无效的(我认为这就是想法)。另外,为什么不在“删除”按钮上使用“数据”属性而不是“名称”属性?为什么无效?我使用
varid=$(this.attr(“name”);获取每个按钮的name属性值。您的文档将有多个ID属性为“studentContactDeleteButton”的按钮。ID的全部意义在于它是唯一的@克里斯蒂安,你说得对,你建议怎么办?使用类而不是id?我将id更改为
id=“studentContactDeleteButton”+response[I][0]+'
,并使用
$(文档)即时消息触发事件{
,这是正确的吗?非常感谢Ragnar,我以错误的方式添加了值,我在append函数的一行中添加了所有代码,并按预期工作。谢谢@Talmid,我将听取您关于性能的建议。