标签: jquery-data

按jQuery中的data属性对HTML元素进行分组和计数

我正在尝试使用jQuery将数据属性的每个实例分组到一个列表中,该列表来自页面中每个属性的出现次数.与在新闻栏目中对类别或标签进行分组相似.

例如,我想创建这样的东西:

  • 第1类(5)
  • 第2类(3)
  • 第3类(1)

从这个HTML:

<ul class="categories">
   <li data-category="category-1">Category 1</li>
   <li data-category="category-1">Category 1</li>
   <li data-category="category-1">Category 1</li>
   <li data-category="category-1">Category 1</li>
   <li data-category="category-1">Category 1</li>
   <li data-category="category-2">Category 2</li>
   <li data-category="category-2">Category 2</li>
   <li data-category="category-2">Category 2</li>
   <li data-category="category-3">Category 3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我怎样才能在jQuery中实现这一点?它甚至可能吗?

html jquery jquery-data

7
推荐指数
1
解决办法
1万
查看次数

防止将包含E和数字的字符串转换为数字

我们有这种"奇怪"的情况,当在jquery点击功能中检索时,存储在数据属性(ex data-prodcode)中的某些产品代码(例如11E6)将转换为11000000.像这样的东西:

    <a data-prodcode="11E6">click</a>
    var code = $(this).data('prodcode');
    console.log(code); --> 11000000
Run Code Online (Sandbox Code Playgroud)

关于如何避免这种行为或可能导致这种行为的任何建议?

javascript jquery custom-data-attribute jquery-data

6
推荐指数
1
解决办法
1391
查看次数

jQuery $ .data()条件语句

我在一个元素上使用了html5"data"属性,我想将属性值分配给一个变量,只要它存在并且它不是空的:

var xxx = $(this).data('what') ? $(this).data('what') : 'default_value';

但它不起作用.我总是得到默认值......

javascript jquery html5 jquery-data

4
推荐指数
1
解决办法
735
查看次数

如何保持数据完好无损?

我有这个基本的HTML:

<div id ="div1" data-pagenumber="0001">First page</div>

<div id = "div2"></div>
Run Code Online (Sandbox Code Playgroud)

和我的jQuery:

var number = $('#div1').data('pagenumber')

$('#div2').append(number);
Run Code Online (Sandbox Code Playgroud)

小提琴:http://jsfiddle.net/JabUS/

为什么里面的文字div2设置为1?在我看来,像jQuery自动转换我的价值.如何阻止此转换,以便像这样打印0001

javascript jquery html5 custom-data-attribute jquery-data

4
推荐指数
1
解决办法
95
查看次数

jquery数据与dom属性不匹配

我有一个jquery数据函数的奇怪问题.这是小提琴

正如您所看到的,我更新active数据但我看不到dom data-active属性值的变化,虽然我重新查询活动数据,但它会写入更改后的值.当我检查它时,$ .data()不会更新dom上的属性.

javascript jquery dom jquery-data

4
推荐指数
1
解决办法
1029
查看次数

使用.data()而不是使用纯变量存储数据的原因是什么?

假设我必须记住某个元素的初始高度.我看到的一个常见做法是将该值保存$.data在该元素上.

我不理解这个的好处.为什么不简单地保留一个带有该值的简单变量,或者如果有多个元素则保留带有值的数组?保持代码易于理解.

javascript jquery jquery-data

4
推荐指数
1
解决办法
65
查看次数

使用jQuery未检测到数据属性更改

我正在更改元素的data-demo属性,div当我想在另一个事件中检查它时,它总是显示它的初始值而不是当前值.

这是我正在使用的代码:

$('#showValue').click(function(){
    alert($('.value').data('demo'));
});

$('.update').click(function(){
   $('.value').text('updated').attr('data-demo', 'updated');
});
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

这是我正在谈论的例子的小提琴:http://jsfiddle.net/f5Cpm/

谢谢.

javascript jquery jquery-data

3
推荐指数
2
解决办法
1508
查看次数

为什么使用$ .data()而不是通过JavaScript直接设置对象?

我经常读这是不好的做法,因为它很难维护,但做的是:

document.getElementsByTagName("h1")[0].foo = {"key":"value"};
Run Code Online (Sandbox Code Playgroud)

与使用推荐的jQuery替代方案相比:

$.data($(document.getElementsByTagName("h1")[0]), "foo", {"key":"value"});
Run Code Online (Sandbox Code Playgroud)

快得多:jsperf

无论data我砍中不可见的类似Firebug调试器,所以从一个"知名度"点有使用任何一个没有什么区别.

问题:
为什么不好的做法直接在元素上存储信息?

javascript jquery store jquery-data

3
推荐指数
1
解决办法
110
查看次数

JavaScript:选择数据值在X和Y范围内的元素

我正在创建日历,并且需要能够确定存储的任何unix时间戳日期是否有选择(显示或隐藏)div.eventdata-dates(可以是字符串或数组,具体取决于事件出现的天数)。它们介于表示当前所选月份的开始和结束的Unix时间戳之间。因此,例如:

现在是2013年4月,所以我只希望看到4月发生的事件(1364774400[4月1日午夜]和1367366399[4月30日23:59:59])。

我有很多event股利。他们看起来像这样:

<div class="event" data-dates="[1367539200, 1367625600]">...</div>
<div class="event" data-dates="[1364947200]">...</div>
Run Code Online (Sandbox Code Playgroud)

假设其中一个或多个时间戳记在2013年4月某个时候出现。如何选择它们?

jquery calendar jquery-selectors jquery-data

2
推荐指数
1
解决办法
1913
查看次数

使用jQuery将data属性设置为div

我试图将数据属性设置为以前没有任何值的div.

<div></div>
Run Code Online (Sandbox Code Playgroud)

使用jQuery,第一种方法(数据)不做任何事情,但是attr方法可以正常工作.

var div = $('div');
div.data('superhero_one','batman');
div.attr('data-superhero_two','spiderman');
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/5bT8p/

我错误地使用了数据功能吗?

javascript jquery attributes jquery-data

2
推荐指数
1
解决办法
3164
查看次数