html класса заменяет строку символом - PullRequest
0 голосов
/ 22 марта 2019

Как мне заменить строку, содержащую символ, на класс css?

HTML

<body>
    <div id="container">
       <div class="class-one class-two"></div>
    </div>
</body>

Jquery

p= '@.class-two';

$('#container').find('.class-one' + ReplaceString(p)).css("background-color", "red");

alert(ReplaceString(p)); // \@\.class-two

function ReplaceString (mystring) {
        return mystring.replace( /(:|\.|\[|\]|,|=|@)/g, "\\" );
}

1 Ответ

0 голосов
/ 22 марта 2019

Я думаю, вы боретесь с селектором jQuery.Ваша замена отлично работает для меня.Я просто удалил обратную косую черту в качестве замены:

function ReplaceString (mystring) {
        return mystring.replace( /(:|\.|\[|\]|,|=|@)/g, "" );
}

Затем вам нужно изменить селектор jQuery.Если у вас более одного класса, разделите их запятыми:

$('#container').find('.class-one,.' + ReplaceString(p)).css("background-color", "red");

Вот полный код, который я пробовал.У меня все работало нормально:

p= '@.class-two';

$('#container').find('.class-one,.' + ReplaceString(p)).css("background-color", "red");

function ReplaceString (mystring) {
        return mystring.replace( /(:|\.|\[|\]|,|=|@)/g, "" );
}

См. Скрипку: https://jsfiddle.net/dnsnx/h3ajdmge/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...