gpt4 book ai didi

javascript - 隐藏字符导致JQuery函数失败

转载 作者:行者123 更新时间:2023-12-01 02:39:54 26 4
gpt4 key购买 nike

我试图了解是什么导致简单的 jquery 函数失败。它只是查找 ID,用其他数据替换某些内容。我有 $data1、$data2、$data3 作为“...more”的替换测试数据。替换适用于 $data1 和 $data2,但不适用于 $data3。不幸的是,我需要使用的所有数据都是 $data3 格式。

测试代码如下:

<?php
$data1 = '<p>line one text here</p>';
$data2 = '<p>line one text here</p><p>line two text here</p><p>line three text here</p>';
$data3 = <<<EOF
<p>line one text here</p>
<p>line two text here</p>
<p>line tgree text here</p>
EOF;
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
//To get remainder of article when clicked on "...more"
$(document).ready(function () {
$("#more").click(function () {
$("#more").html('<?= $data2; ?>');
$("#more").css('color', 'black');
$("#more").css('cursor', '');
});
});
</script>
</head>
<body>
<p class="card-text"><span id="more" style = "color: blue; cursor:pointer;">...more</span></p>
</body>
</html>

查看控制台,我看到 jquery 代码中的数据显示 $data1 和 $data2 的单个连续行,但是,对于 $data3,有明显的换行符,这就是我怀疑导致失败的原因(脚本不执行任何操作,不会发生任何更改)。见下图:

enter image description here

我如何找出这些隐藏字符是什么造成了问题,以便我可以在提交到 jquery 函数之前删除/替换所有字符,或者有没有办法预先在函数中处理它?如有任何其他见解,我们将不胜感激。

提前致谢!

最佳答案

要解决此问题,您需要在 JS 代码中使用模板文字,即使用 ` 分隔字符串,而不是 '"。这是因为它们允许在字符串文字中换行,就像 PHP 一样:

$("#more").html(`<?= $data2; ?>`);

请注意,IE11 及更低版本不支持此功能。

或者,您需要在 PHP 中替换字符串中的换行符,然后再将其输出到 JS。

关于javascript - 隐藏字符导致JQuery函数失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50579063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com