document.getElementsByClassName().inerHTML总是返回"未定义”;
document.getElementsByClassName().innerHTML always returns "undefined"
我一定在某个地方犯了错误,所以document.getElementsByClassName().innerHTML
总是返回未定义。
首先,我通过javascript:生成<li>
$('#list').append('<li class="box"><img class="picture" src="images/HotPromo/tagPhoto1.png"/><p class="name"><b>Name</b></p><p class="address">Address</p><p class="hidden"></p></li>');
注意,在最右边,我有一个<p>
元素和hidden
类。我用它来获得id,我不想向我的用户显示它。
这是在<li>
:上生成数据的jQuery
$(".box").each(function () {
var name, address, picture, id = "";
if (i < result.length) {
name = result[i].name;
address = result[i].address;
picture = result[i].boxpicture;
id = result[i].mallid;
}
$(this).find(".name").html(name);
$(this).find(".address").html(address);
$(this).find(".picture").attr("src", picture);
$(this).find(".hidden").html(id);
i++;
});
我试过检查数据,它运行良好。
现在,假设我想在用户单击我上面生成的<li class="box">
之一时提醒隐藏的id<p>
:
$(".box").click(function () {
alert(document.getElementsByClassName('hidden').innerHTML);
});
但是,此警报始终返回"未定义"。
document.getElementsByClassName()
返回nodeList,而不是元素!
所以应该是:
document.getElementsByClassName('hidden')[0].innerHTML
由于您可能有更多的.hidden
元素,并且只希望当前.box
(在事件处理程序中为this
)中有一个元素,
this.getElementsByClassName('hidden')[0].innerHTML
但是为什么不jQuery
$(".box").click(function(){
alert( $('.hidden', this).html() );
});
相关文章:
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- Angular promise return"未定义的“;值.NET MVC
- 得到"未定义不是函数“;使用显示原型图案时出错
- 为什么我会出现此错误"未捕获引用错误:未定义标题;
- jquery validate 1.8.1”;jQuery"是未定义的错误IE8
- "这个“;正在返回未定义的
- 得到"全局未定义“;全局变量定义清楚时出错
- "TypeError:t.start未定义”;,在fullcalendar.min.js中,同时在我的网站上使
- "未定义不是函数“;错误jQuery,.replaces,scrollTop
- "ctrl”;在指令中的LINK中未定义
- "未定义的“;当从Android向JavaScript传递数据时
- "无法读取属性'id'未定义的“;解析工厂中声明的数组时
- "未捕获的类型错误:未定义的不是函数“;当向输入字段添加值时
- jqueryui:"类型错误:this.menu.element未定义"
- 我可以't克服这个错误“;未定义的局部变量或方法`f'"任何原因
- "$"在Visual Studio中使用jQuery时未定义
- "$"未定义;jquery在<头部>;没有冲突的脚本或库
- 为什么"~未定义的“;在JavaScript中为-1