首页 > 解决方案 > 方法返回意外错误

问题描述

我有一个文本区域来显示数据库中的 HTML 内容。这里我的代码是:

<script type="text/javascript">
  //<![CDATA[
  $('#cont').html('<?php echo $cont['0']['desc'];?>');
  $('#name').html('<?php echo $cont['0']['name'];?>');
  //]]>    
</script>

<textarea name="cont" id="cont"></textarea>
<textarea name="name" id="cont"></textarea>

当我尝试动态加载内容时,#name工作正常,但#cont 显示控制台错误,如:

未捕获的 SyntaxError:无效或意外的令牌

这是我试图加载到的内容#cont

<h3 style="box-sizing: border-box; font-family: kozgopro-medium; font-weight: 500; line-height: 1.1; color: #014d7e; margin: 0px; font-size: 24px; padding: 5px 0px;">Coconut Oil</h3>
<h5 style="box-sizing: border-box; font-family: kozgopro-medium; font-weight: 500; line-height: 1.1; color: #0091f0; margin: 0px; font-size: 16px; padding: 10px 0px 5px;">Extra Virgin / Premium</h5>

感谢您的回答

标签: javascriptphpjquerymysqlajax

解决方案


1.id每个元素必须是唯一的

2.您也可以使用name属性作为选择器

所以代码需要是: -

<script type="text/javascript">
  $('textarea[name=cont]').html('<?php echo addslashes($cont['0']['desc']);?>'); 
  $('textarea[name=name]').html('<?php echo addslashes($cont['0']['name']);?>');
</script>

<textarea name="cont"></textarea>
<textarea name="name"></textarea>

硬编码的工作片段:-

$('textarea[name=cont]').html('hey how are you?');
$('textarea[name=name]').html('I am fine Man!');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea name="cont"></textarea>
<textarea name="name"></textarea>


推荐阅读