如何删除javascript中除一个之外的所有文本?

如何删除javascript中除一个之外的所有文本?,javascript,regex,Javascript,Regex,我正在尝试删除除javascript中的一个文本之外的所有文本 这个想法是做一些类似的事情 //retrieve something like "cnode_72 cnode_1 layout_1 ui-datepicker-week-end " // "ui-datepicker-week-end" is not necessary always present var classes= jQuery("someelement").attr("class"); classes = cla

我正在尝试删除除javascript中的一个文本之外的所有文本

这个想法是做一些类似的事情

//retrieve something like "cnode_72 cnode_1 layout_1  ui-datepicker-week-end "
// "ui-datepicker-week-end" is not necessary always present
var classes= jQuery("someelement").attr("class"); 

classes = classes.replace(/(?!ui-datepicker-week-end)/,'');
预期输出为:

ui-datepicker-week-end
Javascript(根据问题)

嗯。。。这里可能缺少一些东西,但是:

classes = "ui-datepicker-week-end";
如果该文本不在原始字符串中,因此如果该文本不在原始字符串中,您不想添加该文本,请尝试以下操作:

if(classes.indexOf("ui-datepicker-week-end") == -1)
    classes = "";
else
    classes = "ui-datepicker-week-end";
jQuery("...").removeAttr("class").addClass("ui-datepicker-week-end");

JQuery(根据评论中的请求)

如果出于某种奇怪的原因,您使用的是
jQuery(“…”).attr(“class”)
,但没有提及这一点,那么请尝试以下方法:

if(classes.indexOf("ui-datepicker-week-end") == -1)
    classes = "";
else
    classes = "ui-datepicker-week-end";
jQuery("...").removeAttr("class").addClass("ui-datepicker-week-end");
或符合以下条件:

if(jQuery("...").hasClass("ui-datepicker-week-end"))
    jQuery("...").removeAttr("class").addClass("ui-datepicker-week-end");
else
    jQuery("...").removeAttr("class");

你的意思是只上最后一节课,还是什么?我相信更多你想做的例子会有所帮助。我只是在评论同样的事情。虽然我不确定这个问题是否真的准确,但它似乎太简单了。它似乎是最优的:)如果
ui datepicker week end
不是原始字符串呢?var classes=“…”,只是作为示例向您展示了内容,我从jQuery(“…”).attr(“class”),即类“ui datepicker week end”中获得了这些信息并非总是如此present@Joyal从逻辑上讲,这不会改变任何东西,它只是改变赋值语句。