jQuery html(htmlString)无法正确呈现

时间:2018-04-14 11:05:33

标签: javascript jquery

这是一个jQuery函数

(function($){
    $.errMsg = function(obj, str){
        if(typeof obj !== 'object'){
            return;
        }
        //
        if(typeof str === 'string'){
            obj.html(str);
        }else{
            obj.html('');
        }
    };
})(jQuery);

它允许我显示错误消息,例如:

$(err).errMsg('<b>Error</b>. Invalid file(s) format or size greater than 2 Mb, please retry with different documents.');

但无论我怎么做,它都会将<b>标记呈现为纯文本。

我搜索了这个问题没有成功,我试了$.parseHTML, decodeURI没有成功。

有人可以提供一些帮助。提前谢谢。

2 个答案:

答案 0 :(得分:0)

将obj转换为有效的jQuery对象

$( obj ).html( str )

// Or even
$( obj ).clone().html( str );

// test error message
$(err).errMsg( 'p',  '<b>Error</b>. Invalid file(s) format or size greater than 2 Mb, please retry with different documents.');

答案 1 :(得分:0)

如果您想编写用于显示错误消息的jquery插件,请尝试此操作:

(function($){
        $.fn.errMsg = function(str){

            return this.each(function () {
                var $dom=$(this);

                if(typeof str === 'string'){
                    $dom.html(str);
                    console.log("here");
                }else{
                    $dom.html('');
                }
            });
        };
    })(jQuery);

    $('.my-errors').errMsg('<b>Error</b>. Invalid file(s) format or size greater than 2 Mb, please retry with different documents.');