Meteor js, body.helper function getElementsByTagName
Meteor js, body.helper function getElementsByTagName
我正在玩MeteorJS,我试图在Template.body.helpers中创建一个函数来获取数组中的img标签
if (Meteor.isClient) {
Template.body.helpers({
place: function(){
var images = document.getElementsByTagName('img')
console.log(images)
console.log(typeof images)
for(k in images)
console.log(k)
return images
}
}
[] 我得到这个我无法访问的反对意见
对象从类型返回
控制台 (K) 显示 长度 项,以及 命名项
但是如果我使用控制台,我可以获取我的两个图像并使用它们,这与这段代码不同......
这是浏览器中的输出 [对象 HTMLCollection]
我想做的只是将我的图像收集在一个数组中,然后获取alt标签
[]
0: img.toon
1: img.toon
length: 2
proto: HTMLCollection
这是我从控制台.log(图像)获得的对象。 但是如果我尝试图像[0],我会得到未定义
感谢您的任何帮助
所以我添加了一个带有单击事件的按钮来触发相同的代码,我按预期得到了我的图像数组...... 如果我将原始代码包装在文档加载函数中,它似乎无法运行。
事实上,你应该把你的主代码放在Template.body.onRendered
里面,因为你需要等待 DOM 准备好。
如果您尝试收集alt
属性值,这样的事情应该有效:
Template.body.onRendered(function() {
var images = document.getElementsByTagName('img');
var imagesAlts = [];
for (var k = 0; k < images.length; k++) {
imagesAlts.push(images[k].getAttribute('alt'));
}
Session.set('imagesAlts', imagesAlts);
return;
});
Template.body.helpers({
place: function() {
var imagesAlts = Session.get('imagesAlts')
console.log(imagesAlts);
return imagesAlts;
}
});
注意:您可以使用document.images
而不是document.getElementsByTagName('img')
。
相关文章:
- 直接在函数声明上使用function.prototype.bind
- jQuery:.click(function(){(element),collapse('show',f
- 如果连接类型为none,则Javascript Function Only警报
- onLoad function phonegap android
- reducers在redux中得到Function not Object,what'it’他错了
- WIll window.addEventListener(“加载”,function(),false);等待浏览器自动填
- $(document).ready和jQuery(function($)不工作;jQuery已定义,但脚本尚未定义;t进
- Javascript onunload function
- 在init function()中调用getElementById(“..”),而不是想用它做点什么的函数
- spyOn:应为间谍,但得到了Function
- (typeof variable === “function”) 和 jQuery.isFunction() 有什么区别
- this内部的值返回this.each(function(){})
- 如何在JavaScript中创建类似于something.function()的函数
- 如何通过 Function.prototype.apply() 更改调用函数的参数
- 控制台中的“function floor(){[本机代码]}”是什么
- ASPX Jquery 1.11 $(Document).ready(function() {} was skipped
- Function.prototype.call和Function.protoype.all只应用一个参数
- 将angular javascript文件包装为“;(function(){..[js-code here]…})()&
- 从Function触发JQuery UI日期选择器,并将日期存储到变量中
- 创建一个类,该类使用es6类语法将Function对象创建为实例