2015-03-02 2 views
0

Я прочитал пару ответов о подобном вопросе, и люди всегда говорят, что нет никакой разницы между одной и двойной цитатами. Проблема в том, у меня есть немного строки кода, как-то, кажется, имеет значение ...цитаты из селекторов JQuery

$("li[data-type|='veg']").append(' (v)'); 

этот код делать то, что я хочу его сделать: поставить (v) в конце ссылки, но этот код:

$("li[data-type|="veg"]").append(' (v)'); 

не работает. Зачем? Это связано с браузером? Я новичок в jquery, и это первый раз, когда я вижу тип цитаты, делающий разницу.

Благодаря

ответ

0

Это просто, как анализируется js. Вы должны помнить, что вы передаете STRING в качестве аргумента функции jquery. В этой конкретной строке есть выражение, которое обрабатывает jquery (селектор), который может содержать кавычку. Если вы используете один и тот же тип цитаты, вы случайно завершаете строку, а не вставляете ее в строку. Если вы заметили изменение цвета в строке ...

, так что вам нужно избежать этого с помощью обратного слэша \ ", который буквально говорит синтаксическому анализатору игнорировать его (это просто часть строки), чтобы ваша строка оставалась неповрежденной Если вы используете «несоответствующих» кавычки внутри строки, вы кошерно

0

Вы должны избежать ", добавив \: \".

Here - это список многих других специальных символов и способы их устранения.

0

строка, которая начинается с двойной кавычки могут содержать одиночные кавычки и наоборот без побега

Оба они действительны:..

$("li[data-type|='veg']"); 
$('li[data-type|="veg"]'); 

однако, если вы используете ту же самую цитату s внутри строки, которые начинаются строки, вам нужно, чтобы избежать их

$("li[data-type|=\"veg\"]"); 

Это не имеет ничего общего с JQuery. Это как раз как javascript обрабатывает строки

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