HTML`img`标签不能在对象jquery中显示为图像

时间:2016-09-15 08:26:44

标签: javascript jquery html css image

我有来自" sugestion"的数据。像这样的var,这是在我将对象转换为"建议"字符串。

{"value":"<img src=\"http://localhost/erp/assets/images/product/123.jpg\"> 123123123 t-shirt","data":"ABC098765"}

<img src="\"http://localhost/erp/assets/images/product/123.jpg\">无法显示为图片,图片标记仅在追加到

后显示为文字

这是输出显示。

html += '<div class="' + className + '" data-index="' + i + '">' + formatResult(suggestion, value, i) + '</div>';

complite脚本

    $.each(that.suggestions, function (i, suggestion) {
        if (groupBy){
            html += formatGroup(suggestion, value, i);
        }
        html += '<div class="' + className + '" data-index="' + i + '">' + formatResult(suggestion, value, i) + '</div>';
    });

格式结果

Autocomplete.formatResult = function (suggestion, currentValue) {
        // Do not replace anything if there current value is empty
        if (!currentValue) {
            return suggestion.value;
        }

        var pattern = '(' + utils.escapeRegExChars(currentValue) + ')';

        return suggestion.value
            .replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>')
            .replace(/&/g, '&amp;')
            .replace(/</g, '&lt;')
            .replace(/>/g, '&gt;')
            .replace(/"/g, '&quot;')
            .replace(/&lt;(\/?strong)&gt;/g, '<$1>');
    };

如何在输出显示时将图像标记设为图像?

谢谢

1 个答案:

答案 0 :(得分:0)

使用此Stripslashes函数在返回suggestion.value时删除斜杠。可能是因为额外的斜线,您的图像无法正常显示。

function stripslashes (str) {
  return (str + '').replace(/\\(.?)/g, function (s, n1) {
    switch (n1) {
    case '\\':
      return '\\';
    case '0':
      return '\u0000';
    case '':
      return '';
    default:
      return n1;
    }
  });
}