在jquery中更改属性

时间:2012-03-05 00:22:23

标签: jquery jquery-ui

我有如下结构,我想将draggable属性更改为false。     我怎么能在jquery中做到这一点?     感谢。

<div id="top1">
    <span id="s1" draggable="True">a</span>
    <span id="s2" draggable="True">b</span>
</div>

4 个答案:

答案 0 :(得分:3)

如果您只想要, TRUE 将被标记为假

$("span[draggable='True']").attr('draggable', 'False');

更改所有范围的属性

$("span").attr('draggable', 'False');

答案 1 :(得分:1)

$("#s1").attr("draggable", "False");

答案 2 :(得分:1)

很容易做到。你可以遍历所有跨度',然后使用jquery的'attr'方法获取'draggable'属性并将其设置为false

    $("span").each(function(){
        if($(this).attr("draggable")){
            $(this).attr("draggable","false");
        }
    });  

答案 3 :(得分:0)

attributes上的jquery文档所示,您可以使用attr()方法设置元素的属性。在你的情况下:

$("#s2").attr("draggable", "False");

如果要将属性draggable的所有元素更改为false,可以先使用attribute selector,如下所示:

$('[draggable]').attr("draggable", "False");

现在,如果您想要反转这些值,以便当前所有true都变为false并且当前所有false都变为true,则必须使用attribute equals selector将这两个集存储到它们自己的变量中。否则,您将全部切换为false,并且不会将哪些设置为false而设置为true。如下所示:

var all_draggable =  $('[draggable="True"]');
var all_not_draggable =  $('[draggable="False"]');

all_draggable.attr("draggable", "False");
all_not_draggable.attr("draggable", "True");