是否有一种简单直接的方法可以根据data属性选择元素?例如,选择具有名为customerIDvalue的数据属性的所有锚点22.
我有点犹豫使用rel或其他属性来存储这些信息,但我发现根据存储在其中的数据选择元素要困难得多.
我在MVC视图上有以下字段:
@Html.TextBoxFor(model => model.Course.Title, new { data_helptext = "Old Text" })</span>
Run Code Online (Sandbox Code Playgroud)
在单独的js文件中,我想将data-helptext属性设置为字符串值.这是我的代码:
alert($(targetField).data("helptext"));
$(targetField).data("helptext", "Testing 123");
Run Code Online (Sandbox Code Playgroud)
该alert()呼叫工作正常,它显示在警报对话框文本"古文字".但是,将data-helptext属性设置为"测试123" 的调用不起作用."旧文本"仍然是属性的当前值.
我是否错误地使用了对data()的调用?我在网上看了这个,我看不出我做错了什么.
这是HTML标记:
<input data-helptext="Old Text" id="Course_Title" name="Course.Title" type="text" value="" />
Run Code Online (Sandbox Code Playgroud) model-view-controller jquery attributes custom-data-attribute
假设我有4个带有类的div元素.navlink,当点击它时,用于.data()设置一个名为的键'selected',值为true:
$('.navlink')click(function() { $(this).data('selected', true); })
Run Code Online (Sandbox Code Playgroud)
每次.navlink点击一个新的,我想存储以前选择的navlink以供稍后操作.是否有一种快速简便的方法可以根据存储的内容选择元素.data()?
似乎没有任何jQuery :过滤器适合该法案,我尝试了以下(在同一点击事件中),但由于某种原因它不起作用:
var $previous = $('.navlink').filter(
function() { $(this).data("selected") == true }
);
Run Code Online (Sandbox Code Playgroud)
我知道还有其他方法可以实现这一目标,但是现在我只是好奇,如果它可以通过.data().
可能重复:
HTML5上自定义数据属性的Jquery选择器
如何选择tdhtml数据属性等于某个值的所有内容?
EG 小提琴
$("td").dblclick(function (e) {
var columnNumber = $(this).data('column');
console.log(columnNumber);
$("td column=" + columnNumber).css('background-color', 'blue');;
});
Run Code Online (Sandbox Code Playgroud) 将值数组存储在 html(来自 php)属性中然后从 javascript/jQuery 访问它们的最佳实践是什么?
<div class="storage" someAttr=?? /></div>
Run Code Online (Sandbox Code Playgroud)
它基本上是一个简单的数组,就像(code_1,code_2,code_3,...)
我想做一个简单的someAttr="code_1;code_2;code_3"然后爆炸它一样:
var a = $(this).attr('someAttr');
(a.split(";")).forEach(function (attr){
console.log(attr);
});
Run Code Online (Sandbox Code Playgroud)