Javascript 附加到数据选择器的值,然后从中删除
我想从给定的类中获取所有名为“data step”的数据选择器,附加到它们的值,然后将它们恢复为原始值。 所以基本上,我想改变这一点:Javascript 附加到数据选择器的值,然后从中删除,javascript,jquery,Javascript,Jquery,我想从给定的类中获取所有名为“data step”的数据选择器,附加到它们的值,然后将它们恢复为原始值。 所以基本上,我想改变这一点: <div class="MyClass" data-step="1"></div> <div class="MyClass" data-step="2"></div> <script> $(document).ready(function () { $('#btnDis
<div class="MyClass" data-step="1"></div>
<div class="MyClass" data-step="2"></div>
<script>
$(document).ready(function () {
$('#btnDisable').click(function () {
$('.MyClass[data-step]').attr('disabled', 'disabled');
});
$('#btnEnable').click(function () {
$('.MyClass[data-step]').removeAttr('disabled');
});
});
</script>
</head>
<body>
<input type="button" value="disable" id="btnDisable"/>
<input type="button" value="enable" id="btnEnable"/>
<input class="MyClass" data-step="1" value="111"/>
<input class="MyClass" data-step="2" value="111"/>
</body>
</html>
但这将重写数据步骤,我将丢失原始值
<script>
$(document).ready(function () {
$('#btnDisable').click(function () {
$('.MyClass[data-step]').attr('disabled', 'disabled');
});
$('#btnEnable').click(function () {
$('.MyClass[data-step]').removeAttr('disabled');
});
});
</script>
</head>
<body>
<input type="button" value="disable" id="btnDisable"/>
<input type="button" value="enable" id="btnEnable"/>
<input class="MyClass" data-step="1" value="111"/>
<input class="MyClass" data-step="2" value="111"/>
</body>
</html>
另外,我正在寻找一个不使用cookie或会话存储的简单解决方案
<script>
$(document).ready(function () {
$('#btnDisable').click(function () {
$('.MyClass[data-step]').attr('disabled', 'disabled');
});
$('#btnEnable').click(function () {
$('.MyClass[data-step]').removeAttr('disabled');
});
});
</script>
</head>
<body>
<input type="button" value="disable" id="btnDisable"/>
<input type="button" value="enable" id="btnEnable"/>
<input class="MyClass" data-step="1" value="111"/>
<input class="MyClass" data-step="2" value="111"/>
</body>
</html>
有什么建议吗?未经测试。。。使用jquery.each遍历元素
$( ".MyClass[data-step]" ).each(function() {
var $this = $(this);
$this.attr("data-step", $this.attr("data-step") + " disabled" );
});
<script>
$(document).ready(function () {
$('#btnDisable').click(function () {
$('.MyClass[data-step]').attr('disabled', 'disabled');
});
$('#btnEnable').click(function () {
$('.MyClass[data-step]').removeAttr('disabled');
});
});
</script>
</head>
<body>
<input type="button" value="disable" id="btnDisable"/>
<input type="button" value="enable" id="btnEnable"/>
<input class="MyClass" data-step="1" value="111"/>
<input class="MyClass" data-step="2" value="111"/>
</body>
</html>
另外,我正在寻找一个不使用cookie或会话存储的简单解决方案
<script>
$(document).ready(function () {
$('#btnDisable').click(function () {
$('.MyClass[data-step]').attr('disabled', 'disabled');
});
$('#btnEnable').click(function () {
$('.MyClass[data-step]').removeAttr('disabled');
});
});
</script>
</head>
<body>
<input type="button" value="disable" id="btnDisable"/>
<input type="button" value="enable" id="btnEnable"/>
<input class="MyClass" data-step="1" value="111"/>
<input class="MyClass" data-step="2" value="111"/>
</body>
</html>
我不知道为什么你会考虑cookies或会话存储来做出这样的改变 未经测试…使用jquery.each遍历元素
$( ".MyClass[data-step]" ).each(function() {
var $this = $(this);
$this.attr("data-step", $this.attr("data-step") + " disabled" );
});
<script>
$(document).ready(function () {
$('#btnDisable').click(function () {
$('.MyClass[data-step]').attr('disabled', 'disabled');
});
$('#btnEnable').click(function () {
$('.MyClass[data-step]').removeAttr('disabled');
});
});
</script>
</head>
<body>
<input type="button" value="disable" id="btnDisable"/>
<input type="button" value="enable" id="btnEnable"/>
<input class="MyClass" data-step="1" value="111"/>
<input class="MyClass" data-step="2" value="111"/>
</body>
</html>
另外,我正在寻找一个不使用cookie或会话存储的简单解决方案
<script>
$(document).ready(function () {
$('#btnDisable').click(function () {
$('.MyClass[data-step]').attr('disabled', 'disabled');
});
$('#btnEnable').click(function () {
$('.MyClass[data-step]').removeAttr('disabled');
});
});
</script>
</head>
<body>
<input type="button" value="disable" id="btnDisable"/>
<input type="button" value="enable" id="btnEnable"/>
<input class="MyClass" data-step="1" value="111"/>
<input class="MyClass" data-step="2" value="111"/>
</body>
</html>
我不知道为什么你会考虑cookies或会话存储来做出这样的改变< /p> 你可以使用其他数据属性来禁用状态。比如:
<div class="MyClass" data-step="1" data-disabled="false"></div>
<div class="MyClass" data-step="2" data-disabled="true"></div>
<script>
$(document).ready(function () {
$('#btnDisable').click(function () {
$('.MyClass[data-step]').attr('disabled', 'disabled');
});
$('#btnEnable').click(function () {
$('.MyClass[data-step]').removeAttr('disabled');
});
});
</script>
</head>
<body>
<input type="button" value="disable" id="btnDisable"/>
<input type="button" value="enable" id="btnEnable"/>
<input class="MyClass" data-step="1" value="111"/>
<input class="MyClass" data-step="2" value="111"/>
</body>
</html>
您可以将其他数据属性用于禁用状态。比如:
<div class="MyClass" data-step="1" data-disabled="false"></div>
<div class="MyClass" data-step="2" data-disabled="true"></div>
<script>
$(document).ready(function () {
$('#btnDisable').click(function () {
$('.MyClass[data-step]').attr('disabled', 'disabled');
});
$('#btnEnable').click(function () {
$('.MyClass[data-step]').removeAttr('disabled');
});
});
</script>
</head>
<body>
<input type="button" value="disable" id="btnDisable"/>
<input type="button" value="enable" id="btnEnable"/>
<input class="MyClass" data-step="1" value="111"/>
<input class="MyClass" data-step="2" value="111"/>
</body>
</html>
将div更改为input以使结果可见:)
<script>
$(document).ready(function () {
$('#btnDisable').click(function () {
$('.MyClass[data-step]').attr('disabled', 'disabled');
});
$('#btnEnable').click(function () {
$('.MyClass[data-step]').removeAttr('disabled');
});
});
</script>
</head>
<body>
<input type="button" value="disable" id="btnDisable"/>
<input type="button" value="enable" id="btnEnable"/>
<input class="MyClass" data-step="1" value="111"/>
<input class="MyClass" data-step="2" value="111"/>
</body>
</html>
<script>
$(document).ready(function () {
$('#btnDisable').click(function () {
$('.MyClass[data-step]').attr('disabled', 'disabled');
});
$('#btnEnable').click(function () {
$('.MyClass[data-step]').removeAttr('disabled');
});
});
</script>
</head>
<body>
<input type="button" value="disable" id="btnDisable"/>
<input type="button" value="enable" id="btnEnable"/>
<input class="MyClass" data-step="1" value="111"/>
<input class="MyClass" data-step="2" value="111"/>
</body>
</html>
$(文档).ready(函数(){
$('#b禁用')。单击(函数(){
$('.MyClass[data step]').attr('disabled','disabled');
});
$('#btnEnable')。单击(函数(){
$('.MyClass[数据步骤]).removeAttr('disabled');
});
});
将div更改为input以使结果可见:)
<script>
$(document).ready(function () {
$('#btnDisable').click(function () {
$('.MyClass[data-step]').attr('disabled', 'disabled');
});
$('#btnEnable').click(function () {
$('.MyClass[data-step]').removeAttr('disabled');
});
});
</script>
</head>
<body>
<input type="button" value="disable" id="btnDisable"/>
<input type="button" value="enable" id="btnEnable"/>
<input class="MyClass" data-step="1" value="111"/>
<input class="MyClass" data-step="2" value="111"/>
</body>
</html>
<script>
$(document).ready(function () {
$('#btnDisable').click(function () {
$('.MyClass[data-step]').attr('disabled', 'disabled');
});
$('#btnEnable').click(function () {
$('.MyClass[data-step]').removeAttr('disabled');
});
});
</script>
</head>
<body>
<input type="button" value="disable" id="btnDisable"/>
<input type="button" value="enable" id="btnEnable"/>
<input class="MyClass" data-step="1" value="111"/>
<input class="MyClass" data-step="2" value="111"/>
</body>
</html>
$(文档).ready(函数(){
$('#b禁用')。单击(函数(){
$('.MyClass[data step]').attr('disabled','disabled');
});
$('#btnEnable')。单击(函数(){
$('.MyClass[数据步骤]).removeAttr('disabled');
});
});
老实说@ilian6806的答案指向了一个更好的方向谢谢,这正是我想要的。另外,至于为什么我会使用cookies/会话存储,我不会。这是一个朋友开发人员的建议,我觉得很奇怪,我想避免再次得到它。老实说@ilian6806的答案指向了一个更好的方向谢谢,这就是我想要的。另外,至于为什么我会使用cookies/会话存储,我不会。这是一个朋友开发的建议,我觉得很奇怪,我想避免再次得到它。谢谢你的建议。当然,我可以添加一个属性,但这并不能解决我的问题,也不是我想要的。这不会有帮助的原因是读取我的“数据步骤”的脚本不读取或不关心数据禁用。感谢您的建议。当然,我可以添加一个属性,但这并不能解决我的问题,也不是我想要的。这不会有帮助的原因是,读取我的“数据步骤”的脚本不读取或不关心禁用的数据。