jQuery处理元素更改id的能力

时间:2016-08-03 14:33:50

标签: javascript jquery html html5

我想使用jQuery来隐藏具有以下id的按钮。我知道如何用.hide()做到这一点,但我不知道的是如何处理这个按钮的id改变的情况。

id="Ribbon.ContextualTabs.MyWork.Home.Tasks.MarkComplete-Large" 

我知道DOM元素的id必须是唯一的,在这种情况下,我肯定知道Ribbon.ContextualTabs.MyWork.Home.Tasks.MarkComplete不会改变。但是,我发现它可以采用-Small或-Medium或-Large,具体取决于浏览器窗口的大小。

如何处理这个?正则表达式会起作用吗?

4 个答案:

答案 0 :(得分:0)

如果它肯定会成为其中之一3你可以覆盖所有这些:

$('#Ribbon.ContextualTabs.MyWork.Home.Tasks.MarkComplete-Small, #Ribbon.ContextualTabs.MyWork.Home.Tasks.MarkComplete-Medium, #Ribbon.ContextualTabs.MyWork.Home.Tasks.MarkComplete-Large').hide();
但是,Utkanos是对的,你不应该改变ID。

答案 1 :(得分:0)

为什么不直接选择它们,因为尽管如此,每个尺寸的按钮只有一个,不是吗?

$("#"+id+"-Large, #"+id+"-Medium, #"+id+"-Small").hide();

答案 2 :(得分:0)

您是否可以在不会更改的按钮上添加其他属性(例如可能对该按钮唯一的name)?

答案 3 :(得分:0)

当ID中包含**"."**时,您可以使用以下方式隐藏元素

$("#Ribbon\\.ContextualTabs\\.MyWork\\.Home\\.Tasks\\.MarkComplete-Large").hide();