You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery中prepend添加元素时首个元素显示为文本的问题

解决jQuery prepend方法添加元素显示为文本的问题

嘿,我一眼就发现问题所在啦——你拼接的HTML字符串里藏着多余的空格,这才导致第一个元素被当成纯文本显示!

问题根源

你写的HTML片段里,标签与尖括号之间、属性符号前后都加了不必要的空格,比如:

'< div class= "item" >'

这种格式不符合标准HTML语法,浏览器会把它当成普通文本处理,而不是解析成<div>元素。

修正后的代码

把这些多余的空格去掉,让HTML标签和属性保持标准格式就可以正常渲染了:

JavaScript代码

var data = [{ firstname: 'foo', lastname: 'bar' }];
$(".mydiv").prepend(
    '<div class="item">' +
    '<div class="flyout-content">' +
    '<h5>' + data[0].firstname + '</h5>' +
    '<h3>' + data[0].lastname + '</h3>' +
    '<h4>test</h4>' +
    '</div>' +
    '</div>'
);

HTML代码

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="mydiv"></div>

额外小提示

如果拼接的HTML结构比较复杂,推荐使用ES6模板字符串(`语法)来拼接,可读性更强,也不容易犯这种空格错误:

$(".mydiv").prepend(`
    <div class="item">
        <div class="flyout-content">
            <h5>${data[0].firstname}</h5>
            <h3>${data[0].lastname}</h3>
            <h4>test</h4>
        </div>
    </div>
`);

内容的提问来源于stack exchange,提问作者Ali Mardini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:31:09