javascript - 通过开发者工具修改值,并使用jquery的text(),val(),attr(),data()方法获取修改的值时出现疑问?

查看:105
本文介绍了javascript - 通过开发者工具修改值,并使用jquery的text(),val(),attr(),data()方法获取修改的值时出现疑问?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <title>Document</title>
</head>

<body>
    <button type="button" value="text" onclick="alert($(this).val())">提交1</button>
    <button type="button" value="text" onclick="alert($(this).text())">提交2</button>
    <button type="button" data-test="super" onclick="alert($(this).attr('type'))">提交3</button>

   
    <button type="button" data-test="super" onclick="alert($(this).data('test'))">提交4</button>
    <script src="http://cdn.bootcss.com/jquery/1.12.3/jquery.min.js"></script>
    <script>
    </script>
</body>

</html>

这是我修改的截图

(整个过程,浏览器始终不刷新)
按照以下方法处理一次:
当我使用谷歌开发者工具,直接把提交1按钮里的value值text,改成aaaa,点击提交1,会弹出aaaa.
以同样的方法处理并点击提交2提交3提交按钮出现相同的情况。

开始第二次处理:
也是同样的方法,提交1,提交2和提交3按钮均能弹出你修改后的值,但惟独提交4按钮依旧弹出第一次修改后的值。

这是jquery的data方法的缘故,还是浏览器的缘故还是其他原因?

解决方案

之前也有人问过类似的问题,jquery.data()方法不会改变dom元素.

jquery的data 和 html5规定的data还不是一个东西。

jquery的data 只会在页面初始化时读取dom上的属性,之后的操作全部都是在js内存中进行。

dom上的属性值 只是 jquery.data 初始化值,之后修改和读取 都和dom上的属性没有关系。

这篇关于javascript - 通过开发者工具修改值,并使用jquery的text(),val(),attr(),data()方法获取修改的值时出现疑问?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆