如何使用jQuery向对象中插入元素名称与ALT文本值
解决方法:将图片元素名与ALT文本存入对象/数组
首先纠正你代码里的两个核心问题:
- jQuery的
.each()回调函数参数顺序是**(索引, DOM元素)**,你写反了参数; - 直接把DOM元素赋值给
tagged属性,得不到你要的文本内容。
如果你想要类似 ["img", "picture1", "img", "picture2"] 的数组结果
用数组存储的话,代码如下:
var $img = $('#gallery img'); var tagged = []; $img.each(function() { // 获取小写的元素标签名 var tagName = this.tagName.toLowerCase(); // 获取ALT文本 var altText = this.alt; // 把两个值依次推入数组 tagged.push(tagName, altText); }); console.log("tagged result : ", tagged);
如果你想要键值对形式的对象(避免重复键)
因为对象的键不能重复,所以可以用索引作为键,值存包含标签名和ALT的对象:
var $img = $('#gallery img'); var tagged = {}; $img.each(function(index) { var tagName = this.tagName.toLowerCase(); var altText = this.alt; tagged[index] = { tag: tagName, alt: altText }; }); console.log("tagged result : ", tagged); // 输出结果示例:{0: {tag: "img", alt: "picture1"}, 1: {tag: "img", alt: "picture2"}}
内容的提问来源于stack exchange,提问作者JayteeCollins
相关产品推荐
相关产品推荐

