javascript - 通过 javascript 将文本(双引号存储在变量中)显示到模态时遇到问题

标签 javascript jquery html codeigniter modal-dialog

我在通过 javascript 显示带双引号的文本时遇到问题。我想在模式中显示带双引号的文本。但为了做到这一点,我必须使用 javascript。代码是这样的: HTML 代码:

<button id="info" class="btn btn-link" data-toggle="modal" data-target="#infoDetails" data-name="<?php echo $name;?>" data-detail="<?php echo $details;?>" >Click Here</button> 

HTML 代码(模式内):

 <p align="justify" id="detaiLInfo" style="font-size: 14px"> </p>

显示模态的 JavaScript 代码:

<script>
 $('#infoDetails').on('show.bs.modal', function (event) { 
    var button = $(event.relatedTarget) // Button that triggered the modal
    var name = button.data('name') // Extract info from data-* attributes
    var details = button.data('detail')
    var modal = $(this)
    modal.find('.modal-header #name').text(name)
    modal.find('.modal-body #detaiLInfo').text(details)
});

一切正常,但是当 $details 的值=“生物学一词源自希腊语 βίος,bios,“生命”和后缀 -λογία,-logia,“研究”时。\""; 它只给出这个输出(在模式内):

生物学一词源自希腊语 βίος,bios,

但是当我尝试在 html 代码中回显它(但不在模态代码中),如下所示: echo $details; ,结果是:

生物学一词源自希腊语 βίος,bios,“生命”和后缀 -λογία,-logia,“研究”。

谁能帮我解决这个问题吗?请..

最佳答案

如果你检查发生了什么,服务器生成的 HTML 代码(如浏览器客户端字面上所见)将得到打开“life”的 " 并被解释为结束 引用 data-detail 属性,后跟尾随垃圾,然后浏览器的 HTML 解析器会原谅并忽略这些垃圾。我建议在说明文本中使用 UTF-8 弯引号,side-解决问题并看起来更好!否则,您可以对有问题的内部引号进行实体编码。一般来说,将长文本和/或格式化文本打包到数据字段中是一种这个想法的误用。也许这些数据可以被打包到一个仔细iddisplay: none存储区域的HTML内容中,以便用JS动态提取。

再次扫描,它看起来像 detaiLInfo 中的 capp-o

关于javascript - 通过 javascript 将文本(双引号存储在变量中)显示到模态时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28768777/

相关文章:

javascript - 在 ng-disabled 中使用 item 的 data-key

html - 为什么在设置按钮 :after { content }? 时随机得到字符串 "Ã-"而不是 "×"

javascript - HTML 未被解析以查看 - angular.js

javascript - 转储 JQuery 对象

javascript - 如何将 javascript 内联代码转换为 jQuery?

jquery - 两个日期选择器未显示在单个 html 页面中

javascript - Mustache.js 获取数组的当前索引

javascript - 添加选项卡 Pane 后引导选项卡下拉列表不起作用

javascript - 从 SQL 一对多到 Parse NoSQL

jquery this 和其他元素