2014-10-29 1 views
-1

им пытается удалить весь текст, кроме одного в JavaScriptКак удалить весь текст, кроме одного в 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 
+1

вы имеете в виду просто держать последний класс, или что? – Rhumborl

+0

Я считаю, что больше примеров того, что вы хотите сделать, поможет. – jball

ответ

4

Javascript (по вопросу)

Erm ... может быть отсутствует что-то здесь, но как насчет:

classes = "ui-datepicker-week-end"; 

Если текст не в исходной строке, и, таким образом, вы не хотите, чтобы добавить его, если он еще не существует, то попробуйте следующее:

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

JQuery (по запросу в комментариях)

Если по какой-то странной причине вы используете jQuery("...").attr("class") но не стал упоминать, что, то попробуйте следующее:

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"); 

Here is a working example

+0

просто комментировал то же самое. Я не уверен, что вопрос действительно точный, но это кажется слишком простым. – jball

+2

Кажется оптимальным :) – dreyescat

+1

Что делать, если 'ui-datepicker-week-end' не существует в исходной строке? – anubhava

Смежные вопросы