在PHP中使用引号将字符串附加到jQuery

3
我想要将带引号的字符串(例如< span class='MyClass'>)附加到存储在数据库中的一些jQuery元素上。这段代码可以按照我的意愿工作。
<script>
  $(document).ready(function() {
    <?php 
      $result = mysql_query("SELECT concat(year(`wann`), lpad(month(`wann`),2,0), lpad(day(`wann`),2,0)) as wann, `wieviel` FROM `zecken`");
      while($row = mysql_fetch_array($result)) {
        for($i=1; $i <= $row["wieviel"]; $i++) {
    ?>

$('#<?php echo $row["wann"]; ?>').append("<span class='descr bg-danger'>1</span>");

    <?php 
        } 
      } 
    ?>
  });
</script>

我想完全使用PHP编写,并且如果我从 中删除css类“descr bg-danger”,它也可以正常工作。 没有css类,我的解决方案是:

<script>
  $(document).ready(function() {

    <?php 
      $result = mysql_query("SELECT concat(year(`wann`), lpad(month(`wann`),2,0), lpad(day(`wann`),2,0)) as wann, `wieviel` FROM `zecken`");
      while($row = mysql_fetch_array($result)) {
        for($i=1; $i <= $row["wieviel"]; $i++) {

          // How to add a class to this appended span ?????
          echo "$('#".$row["wann"]."').append('<span >1</span>'); ";        
        } 
      } 
    ?>

  });
</script>

如果我需要转义一些引号,我该怎么做? 就像我需要一个不同的第三个引号对于标签:;)一样。
echo "$('#".$row["wann"]."').append('<span class='''descr bg-danger'''>1</span>'); ";

2
要转义引号,您可以使用反斜杠,例如: .append('<span class=\"class-name\">'); - Andi North
如果拼接字符串不是你的风格,你也可以使用sprintf。例如:sprintf('$("#%s").append("<span class=\"descr bg-danger\">1</span>")'), $row['wann']); - castis
1个回答

3
echo "$('#".$row["wann"]."').append('<span class=\\'descr bg-danger\\'>1</span>'); ";

或者,正如@Andi North提到的那样:
echo "$('#".$row["wann"]."').append('<span class=\"descr bg-danger\">1</span>'); ";

两者之间的区别在于一个输出 class=\'...,另一个输出 class="...。无论哪种方式都应该是有效的 JavaScript。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接