我有这段代码:
var ii='"'+'c0'+thecid+'"';
var newcommhtml = '<div id="c0'+thecid+'" class="cnew clearfix">';
newcommhtml = newcommhtml + '<section class="c-content">';
newcommhtml = newcommhtml + '<a href="#" onclick="document.getElementById('+ii+').style.display = "none";" style="color:black;">x</a>';
newcommhtml = newcommhtml + '<p>'+nl2br(textval)+'</p> </section></div>';
基本上,当满足某些条件时,它会在页面中添加一些带有文本的部分。对于此部分(上面代码中的第4行),将x添加到该部分。 我想这样做,当点击该x时,该部分消失。
当我在网页上运行此代码时,它不起作用。我检查了getElementById()的id,发生了一些奇怪的事情:在元素的id之前添加了一个空格,我不知道它来自哪里。
我无法解决问题,有人知道为什么会这样吗?
结果图片:
答案 0 :(得分:1)
使用此:
var ii = 'c0'+thecid;
var newcommhtml = '<div id="'+ii+'" class="cnew clearfix">';
newcommhtml += '<section class="c-content">';
newcommhtml += '<a href="#" onclick="document.getElementById(\''+ii+'\').style.display = \'none\';" style="color:black;">x</a>';
newcommhtml += '<p>'+nl2br(textval)+'</p></section></div>';
所以:
ii
代替ID而不是重新计算ii
onclick
周围的双引号错误none
扩展字符串答案 1 :(得分:0)
试试这个:
var ii='c0'+thecid;
var newcommhtml = '<div id="'+ii+'" class="cnew clearfix">';
newcommhtml = newcommhtml + '<section class="c-content">';
newcommhtml = newcommhtml + '<a href="#" onclick="document.getElementById('+ii+').style.display = "none";" style="color:black;">x</a>';
newcommhtml = newcommhtml + '<p>'+nl2br(textval)+'</p> </section></div>';
答案 2 :(得分:0)
问题的主要原因是双引号添加id名称如“c04”。
只需从第一行var ii='"'+'c0'+thecid+'"';
将其更改为 - var ii = 'c0'+ thecid;