Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 附加到数据选择器的值,然后从中删除_Javascript_Jquery - Fatal编程技术网

Javascript 附加到数据选择器的值,然后从中删除

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

我想从给定的类中获取所有名为“data step”的数据选择器,附加到它们的值,然后将它们恢复为原始值。 所以基本上,我想改变这一点:

<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/会话存储,我不会。这是一个朋友开发的建议,我觉得很奇怪,我想避免再次得到它。谢谢你的建议。当然,我可以添加一个属性,但这并不能解决我的问题,也不是我想要的。这不会有帮助的原因是读取我的“数据步骤”的脚本不读取或不关心数据禁用。感谢您的建议。当然,我可以添加一个属性,但这并不能解决我的问题,也不是我想要的。这不会有帮助的原因是,读取我的“数据步骤”的脚本不读取或不关心禁用的数据。