jquery - 格式化文本的数据标题中的 HTML 代码

标签 jquery html css twitter-bootstrap modal-dialog

我正在尝试使用 Bootstrap 和 jQuery 模态对话框。数据来自 anchor 的数据标题。但在data-caption中,文本必须格式化为HTML标签。

代码如下:

<a class="thumbnail" href="#" data-image-id="" data-toggle="modal" data-title="Some title" data-caption="<p>DATA CAPTION</p>" data-image="img.jpg" data-target="#image-gallery">

对了,模态代码是:

<div class="modal fade" id="image-gallery" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <h4 class="modal-title" id="image-gallery-title"></h4>
                        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Kapat</span></button>
                    </div>
                    <div class="modal-body">
                        <img id="image-gallery-image" class="img-fluid" src="">
                    </div>
                    <div class="modal-footer">

                        <div class="col-md-2">
                            <button type="button" class="btn btn-primary" id="show-previous-image">Geri</button>
                        </div>

                        <div class="col-md-8 text-justify" id="image-gallery-caption">
                            This text will be overwritten by jQuery
                        </div>

                        <div class="col-md-2">
                            <button type="button" id="show-next-image" class="btn btn-default">İleri</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>

编辑:jquery 代码:

$(document).ready(function(){
    loadGallery(true, 'a.thumbnail');

});

function loadGallery(setIDs, setClickAttr){
    var current_image,
        selector,
        counter = 0;

    $('#show-next-image, #show-previous-image').click(function(){
        if($(this).attr('id') == 'show-previous-image'){
            current_image--;
        } else {
            current_image++;
        }

        selector = $('[data-image-id="' + current_image + '"]');
        updateGallery(selector);
    });

    function updateGallery(selector) {
        var $sel = selector;
        current_image = $sel.data('image-id');
        $('#image-gallery-caption').text($sel.data('caption'));
        $('#image-gallery-title').text($sel.data('title'));
        $('#image-gallery-image').attr('src', $sel.data('image'));
        disableButtons(counter, $sel.data('image-id'));
    }

    if(setIDs == true){
        $('[data-image-id]').each(function(){
            counter++;
            $(this).attr('data-image-id',counter);
        });
    }
    $(setClickAttr).on('click',function(){
        updateGallery($(this));
    });
}

一切正常,除了文本格式。 “<p>DATA CAPTION</p> ”显示为文本,而不是 HTML。

如何在模态标题中设置格式化文本?

最佳答案

尝试改变这一行

$('#image-gallery-caption').html($sel.data('caption'));

关于jquery - 格式化文本的数据标题中的 HTML 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51580629/

相关文章:

jquery - 响应式网格布局 : Img height scales different on smaller viewport sizes

javascript - IE11 使用 ng-attr-data 为对象添加斜 Angular 边框

可折叠标题内的 jQuery 移动按钮

html - 忽略父填充

php - AJAX .load() 到 <div> 移动屏幕 - 快把我逼疯了!

jquery - 如何在离开视口(viewport)时暂停 html5 视频?

jquery - Jstree 在加载时打开特定分支

javascript - Sugar.js 不工作

html - TD 宽度 - 使用 CSS 所需的最小值

html - 由于某种原因,图像不会在文章和旁白中居中