首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更新数据属性时,jQuery $.data()没有返回正确的值

更新数据属性时,jQuery $.data()没有返回正确的值
EN

Stack Overflow用户
提问于 2014-03-26 06:10:52
回答 4查看 979关注 0票数 1

我有个很奇怪的问题。我不知道为什么$.data在更新数据后没有返回正确的值,即使元素在firebug中有正确的值。

演示:http://jsfiddle.net/gv5cR/

代码语言:javascript
运行
复制
<div>
    <input type="text" name="price" id="price"/>
</div>
<button type="button" id="submit" data-price="100">Submit</button>
<div id="result"></div>
<script>
$(document).ready(function(){
    $('#price').change(function(){

        $('#submit').attr('data-price',$(this).val());

    });

    $('#submit').click(function(){
        $('#result').html($(this).data('price'));
    });

});
<script>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-03-26 06:11:43

您应该使用.data()设置数据

代码语言:javascript
运行
复制
$('#submit').data('price',$(this).val());

演示---> http://jsfiddle.net/gv5cR/2/

票数 0
EN

Stack Overflow用户

发布于 2014-03-26 06:12:40

使用类似

代码语言:javascript
运行
复制
$('#submit').click(function(){
    $('#result').html($(this).attr('data-price'));
});
票数 1
EN

Stack Overflow用户

发布于 2014-03-26 06:12:02

由于您已经使用.attr()设置了data-price值,因此需要使用.attr()而不是.data()来获得该值:

代码语言:javascript
运行
复制
$('#result').html($(this).attr('data-price'));

更新Fiddle

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22652829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档