在jquery中更改属性
我有一个如下的结构,我想把draggable属性改为false。 我如何在jquery中做到这一点? 谢谢在jquery中更改属性,jquery,jquery-ui,Jquery,Jquery Ui,我有一个如下的结构,我想把draggable属性改为false。 我如何在jquery中做到这一点? 谢谢 <div id="top1"> <span id="s1" draggable="True">a</span> <span id="s2" draggable="True">b</span> </div> A. B 这很容易做到。您可以在所有跨度上循环,然后使用jquery的“attr”方法获取“d
<div id="top1">
<span id="s1" draggable="True">a</span>
<span id="s2" draggable="True">b</span>
</div>
A.
B
这很容易做到。您可以在所有跨度上循环,然后使用jquery的“attr”方法获取“draggable”属性并将其设置为false
$("span").each(function(){
if($(this).attr("draggable")){
$(this).attr("draggable","false");
}
});
这很容易做到。您可以在所有跨度上循环,然后使用jquery的“attr”方法获取“draggable”属性并将其设置为false
$("span").each(function(){
if($(this).attr("draggable")){
$(this).attr("draggable","false");
}
});
如上的jquery文档所示,可以使用
attr()
方法设置元素的属性。就你而言:
$("#s2").attr("draggable", "False");
如果要将属性为draggable
的所有元素更改为false,可以使用第一个,如下所示:
$('[draggable]').attr("draggable", "False");
现在,如果您想反转这些值,以便所有当前为true的值都变为false,所有当前为false的值都变为true,那么您必须使用。否则,您将全部切换为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");
如上的jquery文档所示,可以使用
attr()
方法设置元素的属性。就你而言:
$("#s2").attr("draggable", "False");
如果要将属性为draggable
的所有元素更改为false,可以使用第一个,如下所示:
$('[draggable]').attr("draggable", "False");
现在,如果您想反转这些值,以便所有当前为true的值都变为false,所有当前为false的值都变为true,那么您必须使用。否则,您将全部切换为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");
如果您只想,则将正确的标记为false
$("span[draggable='True']").attr('draggable', 'False');
更改所有跨度的属性
$("span").attr('draggable', 'False');
如果您只想,则将正确的标记为false
$("span[draggable='True']").attr('draggable', 'False');
更改所有跨度的属性
$("span").attr('draggable', 'False');
这是否会将属性添加到尚未具有可拖动属性的范围中?您不能使用
attr()
一次设置所有选定元素的属性,例如:$(“span”).attr(“draggable”,“false”)
而不是使用each
循环?我已经更新了答案,仅当当前跨度具有“draggable”属性时才将其设为false。但是为什么要使用if
或each
?您只能指定属性draggable
的span
,并使用以下命令将所有属性设置为具有相同的值:$(“span[draggable]”)。attr(“draggable”,“false”)代码>只是好奇你是否发现使用每一种方法更有效或更快。@Anthony。我不知道这个语法。谢谢。这会不会将属性添加到尚未具有draggable
属性的范围中?您不能使用attr()
一次设置所有选定元素的属性,例如:$(“span”).attr(“draggable”,“false”)
而不是使用each
循环?我已经更新了答案,仅当当前跨度具有“draggable”属性时才将其设为false。但是为什么要使用if
或each
?您只能指定属性draggable
的span
,并使用以下命令将所有属性设置为具有相同的值:$(“span[draggable]”)。attr(“draggable”,“false”)代码>只是好奇你是否发现使用每一种方法更有效或更快。@Anthony。我不知道这个语法。谢谢。如果只有true和false两个选项,那么这两个选项的效果相同,因为所有跨距都将因此设置为false。但是,如果有第三个选项,那么您是对的。@Anthony或者其他的span
用于不同的操作,您不能使用第二个代码。我明白您的想法了。我认为您的意思是使用Dragable属性更改所有跨距,而不是使用Dragable属性设置为false的所有跨距,这最终是相同的。如果true和false是唯一的选项,那么这两个选项都具有相同的效果,因为所有跨距都将因此设置为false。但是,如果有第三个选项,那么您是对的。@Anthony或者其他的span
用于不同的操作,您不能使用第二个代码。我明白您的想法了。我以为你的意思是用draggable属性更改所有跨距,而不是将draggable属性设置为false的所有跨距,这最终也是一样的。