У меня есть этот код:
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 этот раздел исчезает.
Когда я запускаю этот код на веб-странице, он не работает. Я проверил id getElementById(), там что-то странное: пространство добавляется перед идентификатором элемента, я не знаю, откуда оно взялось.
Я не могу решить проблему, кто-нибудь знает, почему это происходит?
Фотографии результата:
Использовать это:
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
ii
для идентификатора вместо перерасчета егоonclick
двойные кавычки вокруг none
не ошибались+=
для расширения строкиПопробуй это:
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>';
Основной причиной проблемы является добавление двойных кавычек с идентификатором типа "c04".
Просто удалите двойные кавычки из вашей первой строки var ii='"'+'c0'+thecid+'"';
Измените его на - var ii = 'c0'+ thecid;
var ii='c0'+thecid;
вместо этогоvar ii='"'+'c0'+thecid+'"';
?newcommhtml = newcommhtml + ...
вы можете просто использовать сокращенную форму+=
- например,newcommhtml += ...