我正在尝试保留数据属性中的回车符。当属性被发送到index.php时,div不再识别换行符,并打印出一个大段落中的所有文本。
以下是包含属性的HREF外观:
<?php
$current .=
($i == 1 && $sformat != 'table' && ( $key != $unique_id || $unique_id == '' ) )?"$count.
<a data-toggle=\"modal\" class=\"open-RestrictModal\" href='#my-restrictModal'
data-description=\"".$row["description"]."\" ">".${$key}."</a></dt>":'';
?>
这里是index.php中的javascript,它获取data-attribute并将其转换为javascript变量,然后将其发送到模态窗口:
<script type="text/javascript">
$(document).on("click", ".open-RestrictModal", function () {
var myDescription = $(this).data('description');
$(".modal-body #description").text( myDescription );
});
</script>
如上所述,问题是,当它以模态显示时,不再有任何回车。我需要获得那些回车。
这与我一直试图做的最接近:
这也是:
请帮忙。
答案 0 :(得分:2)
您是否尝试过为#description
元素设置white-space: pre
或类似的风格?
否则,您必须使用HTML换行符替换回车符:myDescription.replace('\n', '<br>')
另外,我不会在HTML属性中输出文字回车(我认为这是禁止的XML)
所以你应该在PHP中进行替换:str_replace("\n", "<br>", $row["description"])
最后,您没有正确转发输出。如果您的描述字段包含引号符号"
或其他特殊HTML字符,该怎么办?您应该始终使用适当的转义函数,例如htmlspecialchars()
。