相关疑难解决方法(0)

无法使用jQuery Data()API设置数据属性

我在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

131
推荐指数
4
解决办法
13万
查看次数

无法更新数据属性值

虽然在网络上有一些关于此的例子,但它似乎无法正常工作.我无法弄清楚这个问题.

我有这个简单的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.我无法增量.我有什么错误吗?

jquery

82
推荐指数
6
解决办法
16万
查看次数

获取数据属性jquery vs javascript

我默认设置了自定义数据属性:

data-equipment="0"

如果我用jquery使用.data()更改它

$(this).data("equipment", 10)

然后使用getAttribute()

this.getAttribute("data-equipment")

我得到旧值(0)而不是新值(10).但如果我使用

$(this).data("equipment") 我得到了新的价值(10).

这应该是这样工作还是我错过了什么?

谢谢!

javascript jquery custom-data-attribute

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

jquery使用连字符和区分大小写获取HTML 5数据属性

如何使用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)

html jquery html5 custom-data-attribute jquery-data

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

如何获取,设置和选择具有数据属性的元素?

我在使用数据属性方面遇到了一些麻烦,因为某些原因我无法正常工作所以我一定做错了:

组:

$('#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)

这对我来说都不起作用,我是在制作它还是它是什么?

jquery jquery-selectors custom-data-attribute

25
推荐指数
3
解决办法
5万
查看次数

HTML5自定义属性 - 我为什么要使用它们?

我似乎无法理解为什么我应该对HTML5允许自定义属性感到满意?我为什么要用它们?

html5 custom-attributes

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

jQuery $(this).data()返回旧值

我有以下代码:

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,但已被更改(并且使用断点,我可以看到它已经更改了).

javascript jquery

12
推荐指数
2
解决办法
4297
查看次数

在数据属性jquery中获取错误的值

我有一个数据属性的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

javascript jquery

7
推荐指数
2
解决办法
2913
查看次数

jQuery .data()无法使用$(this)

我想存储我的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 jquery html5

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

将数据保存在html标记属性中

如何将一些数据保存为html标签属性?例如,给定数据asd/45.33/blah,我需要在html中保存这些数据,并在使用jquery后得到这些数据:

 $("#my_tag").attr("special_attribute");
Run Code Online (Sandbox Code Playgroud)

这是可能的?

html javascript jquery html5

4
推荐指数
2
解决办法
6490
查看次数