向每个函数中的元素添加数据
add data to element in each function
我制作了一个计算div内图像的each函数,并试图将div内计数的图像数设置为div的数据属性,但它不起作用。
我是不是因为它似乎不起作用而走错了路?
这是网站http://www.touchmarketing.co.nz/test/
var mostImages = 0;
numSliders = $wowSlides.length,
lastVindex = numSliders-1;
$wowSlides.each(function(){
var $this = $(this),
$images = $this.find('img'),
numImages = $images.length;
$images.css({width:$slideWidth, 'float':'left', 'position':'relative'}).wrapAll('<div class="slider" />');
$slider = $this.find(".slider");
$slider.width($slideWidth*numImages).css({'float':'left'});
$this.data('count', numImages); // add data-count="insert number here" to this .wowSlides div
console.log(numImages);
if(numImages > mostImages){
mostImages = numImages;
}
});
这将数据设置到jQuery的专有数据缓存:
$this.data('count', numImages);
它没有设置为元素的data-
属性。通常不需要在客户端上设置data-
属性,因为它的目的是将数据从服务器传输到客户端。
尽管如此,如果你想设置它,请使用
$this.attr('data-count', numImages)
或
this.setAttribute('data-count', numImages)
就我个人而言,如果我想将少量数据与元素相关联,我只需要将其作为属性直接存储在元素本身上。
this.count = numImages;
对于原始数据来说,这是无害的。对于较大的对象或其他DOM元素,我会更加犹豫。
相关文章:
- 如何将html元素添加到tampermonkey中
- 如何将html元素添加为生成的内容
- 如何向Selectize元素添加渲染和创建方法
- 向html选择元素添加选项
- 在d3中向DOM元素添加了图像,但现在它赢得了't过渡
- 如何将新的键/值对元素添加到现有数组
- 使用docment.createElement向元素添加选项
- ng重复向一个元素添加条件类
- 为li元素添加标题
- 向ckeditor中的多个元素添加内联样式
- Javascript 向影子根中的自定义元素添加函数
- 将伪元素添加到<文本区域>
- 如果类只包含一个特定数字,则向元素添加类
- DOM:将空元素添加到 DOM 和页面重排
- 是否有 jQuery 事件用于何时将元素添加到文档中
- 通过 ajax 使用自定义滚动条向元素添加内容
- 是否可以用D3将svg元素添加到开放层映射中
- 如何将元素添加到动态数组并排除现有元素
- 在AngularJS中将元素添加到作用域时,如何在所有设备上播放声音
- 将图像元素添加到<a>标签