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

HTML `img` tag can't display as image in object jquery

本文关键字:显示 图像 jquery 不能 img 标签 HTML 对象      更新时间:2023-09-26

我有来自"suggestion" var的数据,这是在我将对象"suggestion"转换为字符串之后。

{"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>';
完整的脚本
    $.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>');
    };

如何使图像标签作为图像输出时显示?

谢谢

使用此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;
    }
  });
}