我有这个HTML.
<img src="2.png" alt="Pending" data-number="00991" data-status="0">
Run Code Online (Sandbox Code Playgroud)
我正在使用以下jQuery来获取值.
var number = $(this).find('img').data('number');
Run Code Online (Sandbox Code Playgroud)
上面的jQuery代码使用非前导零获取值,例如上面的代码只会取991而不是00991,出了什么问题?
最近,我在rails应用程序中遇到HTML自定义数据属性的问题.我使用以下模式,以便将一些数据属性添加到html标记,并在稍后的javascript(jQuery)代码中使用它们:
= %a.name{ href: "url.com", data: {first_name: "ben", last_name: "amsalem} }
Run Code Online (Sandbox Code Playgroud)
在javascript代码中,我访问这些属性:
alert($(".name").data("first_name") + " " + $(".name").data("last_name"));
Run Code Online (Sandbox Code Playgroud)
在我的开发环境中它很顺利,我得到了预期的结果(过去我的生产环境也是如此),但在我当前的生产版本中,我得到了"未定义"的值.我检查了页面的HTML源代码,我看到我现在有类似的东西:
<a class="name" href="url.com" data-first-name="ben" data-last-name="amsalem" />
Run Code Online (Sandbox Code Playgroud)
代替:
<a class="name" href="url.com" data-first_name="ben" data-last_name="amsalem" />
Run Code Online (Sandbox Code Playgroud)
为什么会这样?是什么导致了变化?
我有一个输入,我想在用户没有填写时显示自定义错误消息.
<input type="text" class="foo" value="" data-prop="foo" data-rules="{ required: true }"></input>
Run Code Online (Sandbox Code Playgroud)
如何向此特定输入添加自定义错误消息?
我一直在更现代的网站上看到这些属性,比如GitHub等等,它们似乎总是与title属性这样的自定义popover相吻合.
<a href="/" data-value="hovering message">Option 1</a>
<a href="/" data-title="hovering message">Option 2</a>
<a href="/" data-original-title="hovering message">Option 3</a>
<a href="/" original-title="hovering message">Option 4</a>
Run Code Online (Sandbox Code Playgroud)
我在HTML5 Doctor上阅读了一些关于数据属性的文档,我不太清楚这一点.
使用它们是否有一些SEO或可访问性好处?什么是插件(希望jQuery)通常用于在这种特定情况下创建弹出窗口?
我有data-options属性的输入.
<input class="data" type="text" data-options="{maxDate:'0'}" />
Run Code Online (Sandbox Code Playgroud)
我想使用data-options值作为选项加载datepicker.现在使用以下代码,不起作用
$("input.data").each(function(){
var dateOptions=$(this).data('options');
$(this).datepicker(dateOptions)
});
Run Code Online (Sandbox Code Playgroud)
但如果我把选项放在js上,如下面的代码所示,它可以工作:
$("input.data").each(function(){
$(this).datepicker({maxDate:'0'})
});
Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/VixedS/exfLf6o9/
如果有人可以,我宁愿没有评估的答案.
我正在使用garlic.js验证我的表单.Garlic.js建议在表单标记上添加数据属性.
这是我需要生成的内容:
<form data-validate="parsley">
Run Code Online (Sandbox Code Playgroud)
我在表单标记上生成此数据属性时遇到问题.我尝试了一切,没有任何效果.有人有解决方案吗?
我想使用jQuery的data()api来检索元素的所有数据属性.但是这个api的缓存性质真的很烦人.有时我需要在javascript中更改元素的某些数据属性,但data()api始终返回每个数据属性的初始值.因此,我必须使用它attr()来访问元素的每个数据属性以获取其最新值.有没有办法克服这个缓存的事情,并且data()每次调用它时总是返回最新的值?
我有一些复选框,用于显示/隐藏列并自动调整它们以适应屏幕.我已使用数据属性将复选框链接到其相关列,并尝试使用jQuery.data()读取此值.这给出了"未定义不是函数"的错误,即使断点似乎表明我已经将变量正确设置到这一点.
HTML
<div class="col-xs-12">
<span>Show or hide columns:</span>
<input type="checkbox" checked="checked" id="column-selector" data-column="selectioncolumn" />Selection via dropdowns
<input type="checkbox" checked="checked" id="column-selector" data-column="listcolumn" />Selected items
<input type="checkbox" checked="checked" id="column-selector" data-column="mapcolumn" />Map
</div>
<div id="selectioncolumn" class="col-xs-4">
Div 1
</div>
<div id="listcolumn" class="col-xs-4">
Div 2
</div>
<div id="mapcolumn" class="col-xs-4">
Div 3
</div>
Run Code Online (Sandbox Code Playgroud)
jQuery的
$(document).ready(function () {
$('#column-selector').on('change', function () {
var numberOfColumns = $('#column-selector:checked').length;
var sizeOfVisibleColumn = numberOfColumns === 0 ? 4 : 12 / numberOfColumns;
var columnClass = 'col-xs-' + sizeOfVisibleColumn; …Run Code Online (Sandbox Code Playgroud) 我正在尝试将HTML 5数据属性添加到DOM中.我在jQuery网站上看到过数据属性的格式是:
$('.pane-field-related-pages ul').data("role") === "listview";
Run Code Online (Sandbox Code Playgroud)
但这似乎没有在DOM中添加任何东西?
如何将上述数据角色添加到相关的ul标签中?
所以jquery api说如下:
从jQuery的内部.data()缓存中删除数据不会影响文档中的任何HTML5数据属性; 使用.removeAttr()来删除它们.
删除单个数据属性没有问题.
<a title="title" data-loremIpsum="Ipsum" data-loremDolor="Dolor"></a>
$('a').removeAttr('data-loremipsum');
Run Code Online (Sandbox Code Playgroud)
问题是,如何删除多个数据属性?
更多细节:
起点是我有多个(比如说... 60)不同的数据属性,我想删除所有这些属性.
首选方法是仅定位包含该单词的那些数据属性lorem.在这种情况下lorem,始终是第一个字.(如果你算的话,还是第二个data-)
另外,我想保持所有其他属性不变