Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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中显示/隐藏html内容_Javascript_Jquery - Fatal编程技术网

在javascript中显示/隐藏html内容

在javascript中显示/隐藏html内容,javascript,jquery,Javascript,Jquery,我有来自后端的响应。现在我想创建一些链接,如果我单击这些链接,它应该会在该链接下面显示html内容,如果我再次单击该链接,这些html内容应该会消失。我知道jquery的hide()和show()。但是这里我使用for循环,我找不到DOM元素, 如下: var html = "<div id=finalDiv></div>"; $("#finalDiv").dialog(); var ht; for(var i in response) { ht +="<tab

我有来自后端的响应。现在我想创建一些链接,如果我单击这些链接,它应该会在该链接下面显示html内容,如果我再次单击该链接,这些html内容应该会消失。我知道jquery的hide()和show()。但是这里我使用for循环,我找不到DOM元素, 如下:

var html = "<div id=finalDiv></div>";
$("#finalDiv").dialog();
var ht;
for(var i in response) {
  ht +="<table><tr><td><label>A:</label></td><td><a onclick=\"showOneLink('"+response[i].B+"','"+i+"')\" >'"+response[i].A+"'</a></td></tr>";
  ht += "<tr><td><div id=show'"+i+"'Link style='dislay:none;'></div></td></tr></table>";
}
$("#finalDiv").append(ht);
var html=”“;
$(“#finalDiv”).dialog();
var-ht;
用于(var i响应){
ht+=“A:”+响应[i]。A+”;
ht+=”;
}
$(“#finalDiv”)。追加(ht);
现在,当我单击showOneLink时,应该会显示隐藏的div,但不会创建该div的DOM。作为

function showOneLink(B,i) {
  var htm = "<b>log:'"+B+"'</b>";
  $("#show"+i+"Link").css('display','block');
  $("#show"+i+"Link").append(htm);
}
功能showOneLink(B,i){
var htm=“log:”+B+”;
$(“#show”+i+“Link”).css('display','block');
$(#show“+i+”Link”).append(htm);
}

选择器是字符串,请关闭“”

比如
$(“show”+i+“Link”)

或孔代码:

function showOneLink(B,i) {
  var htm = "<b>log:'"+B+"'</b>";
  $("#show"+i+"Link").css('display','block');
  $("#show"+i+"Link").append(ht);
}

问题在于此id属性:

id=show'"+i+"'Link
这将生成无效的HTML:
id=show'5'链接

将其更改为:

ht += "<tr><td><div id='show"+i+"Link' style='dislay:none;'></div></td></tr></table>";

请调试您的代码。您的上一个代码块中有多个未终止的字符串:(
“#show”+i+”链接
)不,这不是问题所在。我已更正为是,我明白了。
.toggle()
下面发布的建议应该有效。不..这不是这里的错误..我更正了它..但我想回答我的问题..如何在没有dom对象的情况下切换for循环?这是问题所在。您找不到dom元素,因为它的ID无效。@SSS,如果您更正了它,那么您应该用新的cod更新您的问题e、 @SSS,我同意MrCode在创建元素时应该更改id:您的id无效。
ht += "<tr><td><div id='show"+i+"Link' style='dislay:none;'></div></td></tr></table>";
 $("#show"+i+"Link").toggle();