【问题标题】:Append a string with quotes from PHP to jQuery将带有引号的字符串从 PHP 附加到 jQuery
【发布时间】:2016-11-19 21:07:19
【问题描述】:

我想在一些存储在数据库中的 jQuery 元素上附加一个带引号的字符串(例如 < span class='MyClass'> )。这个 sn-p 可以按我的意愿工作。

<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 编写,如果我从 span 中删除 css-classes “descr bg-danger”,它也可以工作。如果没有 css-classes,我的解决方案是:

<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>'); ";

【问题讨论】:

  • 要转义引号,您可以使用反斜杠,例如:.append('&lt;span class=\"class-name\"&gt;');
  • 如果 concat 汤不是您的风格,您也可以使用 sprintfsprintf('$("#%s").append("&lt;span class=\"descr bg-danger\"&gt;1&lt;/span&gt;")'), $row['wann']);

标签: php jquery css


【解决方案1】:
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。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-31
    • 2016-07-14
    • 2017-10-31
    • 2020-03-09
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多