下面的代码使用 AJAX 返回到对象中的 html 页面。
当我没有将它作为 PHP 进行回显时,它似乎没有做它所做的事情,即根据属性“data-sort”创建 DIVS,对它们进行排序
我知道该函数是正确的,我是否可能错误地转义了它?
echo "
newdiv = $(\'<div id=\'eventdiv\' class=\'shadow curved_sml gradient\' data-sort=\'".$row_display['TimeStamp']."\'>".$row_new['Title']." TIME: ".$row_display['TimeStamp']."</div>\');
div_id_after = Math.floor(parseFloat(newdiv.attr('data-sort')));
$('div[data-sort='+div_id_after+']').after(newdiv);
";
问候, 泰勒
最佳答案
是的,您错误地转义了它。你拥有的是:
- 第一级引号:双引号,在 PHP 中,
- 第二级引号:JavaScript 中的单引号,
但是第三层的引号不正确 - HTML 在 JS 中作为字符串传递,而 HTML 在 PHP 中又作为字符串传递。另外,您不应该转义 '
,因为您将它们包含在 "
中。
尝试以下操作:
echo "
newdiv = $('<div id=\"eventdiv\" class=\"shadow curved_sml gradient\" data-sort=\"" . $row_display['TimeStamp'] . "\">" . $row_new['Title'] . " TIME: " . $row_display['TimeStamp'] . "</div>');
div_id_after = Math.floor(parseFloat(newdiv.attr('data-sort')));
$('div[data-sort=\"'+div_id_after+'\"]').after(newdiv);
";
我认为这应该可以解决您的问题。但我没有测试过。
关于php - 当字符串中有行 ['value' ] 时,在 PHP 中转义字符串的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6132741/