Javascript函数增加了一个空间

时间:2014-03-05 19:23:44

标签: javascript html

我有这段代码:

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之前添加了一个空格,我不知道它来自哪里。

我无法解决问题,有人知道为什么会这样吗?

结果图片:

3 个答案:

答案 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>';

所以:

  • 请勿在{{1​​}}变量
  • 中添加引号
  • 使用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;