我在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
虽然在网络上有一些关于此的例子,但它似乎无法正常工作.我无法弄清楚这个问题.
我有这个简单的HTML
<div id="foo" data-num="0"></ div>
<a href="#" id="changeData">change data value</a>
Run Code Online (Sandbox Code Playgroud)
每次单击"更改数据值"链接时,我都想更新data-num的数据值.例如,我需要它是1,2,3,4,...(每次点击链接时加1)
我拥有的是什么
var num = $('#foo').data("num");
console.log(num);
num = num+1;
console.log(num);
$('#foo').attr('data-num', num);
Run Code Online (Sandbox Code Playgroud)
该值每次从0更改为1.我无法增量.我有什么错误吗?
我默认设置了自定义数据属性:
data-equipment="0"
如果我用jquery使用.data()更改它
$(this).data("equipment", 10)
然后使用getAttribute()
this.getAttribute("data-equipment")
我得到旧值(0)而不是新值(10).但如果我使用
$(this).data("equipment") 我得到了新的价值(10).
这应该是这样工作还是我错过了什么?
谢谢!
如何使用jquery获取数据属性.data()?在哪种情况下,html5 data-*属性转换为小写和camelcase?使用自定义属性存储数据时要遵循的主要规则是什么?
<input type="button" class="myButton" value="click me" data-productId="abc"/>
<input type="button" class="myButton" value="click me" data-product-id="abc"/>
<input type="button" class="myButton" value="click me" data-PRODUCT-ID="abc"/>
<input type="button" class="myButton" value="click me" data-ProDUctId="abc"/>
Run Code Online (Sandbox Code Playgroud) 我在使用数据属性方面遇到了一些麻烦,因为某些原因我无法正常工作所以我一定做错了:
组:
$('#element').data('data1', '1'); //Actually in my case the data is been added manually
Run Code Online (Sandbox Code Playgroud)
这有什么区别吗?
得到:
$('#element').data('data1');
Run Code Online (Sandbox Code Playgroud)
选择:
$('#element[data1 = 1]')
Run Code Online (Sandbox Code Playgroud)
这对我来说都不起作用,我是在制作它还是它是什么?
我似乎无法理解为什么我应该对HTML5允许自定义属性感到满意?我为什么要用它们?
我有以下代码:
updateColors = function() {
$(".color-preview").each(function() {
return $(this).css('background-color', $(this).data('color'));
});
return null;
};
Run Code Online (Sandbox Code Playgroud)
我在第3行放了一个断点,然后在控制台中键入以下内容:
> this
<div class=?"color-preview" data-observer=?"{"attr":?"data-color", "observe":?"btn_col"}?" data-color=?"#ffff00" style=?"background-color:? rgb(153, 0, 255)?;?">?</div>?
> $(this).data('color')
"#9900ff"
Run Code Online (Sandbox Code Playgroud)
如您所见,实际元素data-color是#ffff00.但是,jQuery的.data()方法正在返回#9900ff,这是元素的值data-color,但已被更改(并且使用断点,我可以看到它已经更改了).
我有一个数据属性的div
<div class='p1' data-location='1'></div>
Run Code Online (Sandbox Code Playgroud)
我有脚本喜欢
$('button').click(function(){
var loc = $('.p1').data('location');
alert('data location is'+loc);//SHOW THE DATA
var num = 10;
var count = loc;
var element = $('.p1');
var intv = setInterval(anim,1000);
function anim(){
count++;
num--;
if(count==37){count = 1;}
if(num==1){clearInterval(intv);}
$(element).animateCSS('bounceOut',{
callback: function(){
$(element).attr('data-location',count);
$(element).animateCSS('bounceIn');
}
});
}
anim();
});
Run Code Online (Sandbox Code Playgroud)
使用上面的脚本data-location属性将更新为10,但如果我再次单击该按钮,数据位置仍然是1
我想存储我的input字段的初始数据(以便稍后能够检查这些初始值).因此,当我的页面加载时,我使用以下代码段:
$(document).ready(function () {
$('input').data('initial-value', $(this).val() )
}
Run Code Online (Sandbox Code Playgroud)
问题是上面的内容没有input在数据属性中存储字段的初始值initial-value.该属性未创建.
以下工作:
$('input').data('initial-value', 'whatever value' )
Run Code Online (Sandbox Code Playgroud)
我不能$(this)在.data()方法中使用jQuery 运算符吗?如果是这样,我还能做什么?
如何将一些数据保存为html标签属性?例如,给定数据asd/45.33/blah,我需要在html中保存这些数据,并在使用jquery后得到这些数据:
$("#my_tag").attr("special_attribute");
Run Code Online (Sandbox Code Playgroud)
这是可能的?