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

如何修复jQuery代码输出undefined问题且无需在HTML中硬编码

问题原因

代码中调用product.attr('data-type')获取自定义属性,但HTML中li元素的实际自定义属性为data-activity-type,属性名不匹配导致读取不存在的属性时返回undefined,拼接后就会在页面显示无效的undefined内容。

解决方案

以下两种方案均无需修改现有HTML代码:

  • 方案1:直接修正attr方法的属性名参数,适配现有HTML结构
$(document).ready(function () {
    var listItems = $("#productList li");
    listItems.each(function (idx, li) {
        var product = $(li);
        product.append(" - <b> ("+product.attr('data-activity-type')+") </b>");
    });
});
  • 方案2:使用jQuery内置的data()方法读取自定义data属性,语法更简洁,该方法会自动识别data-前缀的属性,无需手动拼接前缀
$(document).ready(function () {
    var listItems = $("#productList li");
    listItems.each(function (idx, li) {
        var product = $(li);
        product.append(" - <b> ("+product.data('activity-type')+") </b>");
    });
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:36:05