В jQuery $ ('тело') может выбирать элемент тела, но $ ('тело') может быть точно так же, как $ ('некоторый текст'), поэтому как различать?

Причина состоит в том, что мы можем сделать

$('<div>some text</div>').prependTo('#someDiv')

таким образом это также в порядке, чтобы сделать:

$('some text').prependTo('#someDiv')

но мы не можем измениться some text кому: body? body так же хорошо как любой текст...

(вышеупомянутый код добавляет some text отделению с идентификатором someDiv, таким образом, что, если я хочу добавить слово body отделению?)

но $ ('тело') становится селектором для элемента тела... так там правило, в котором говорится, мы можем использовать какой-либо текст в качестве HTML-кода, пока это не название элементов HTML?

8
задан nopole 21 June 2010 в 09:55
поделиться

4 ответа

В основном это недопустимо:

$('generic text here, *not* a selector or HTML');

Это должно всегда быть либо селектором (поиск элемента), либо html (создание элемента (ов)), вы можете просмотреть API для $ () здесь .

Вы хотите использовать один из других методов вставки DOM здесь, .prepend () в данном случае:

$('#someDiv').prepend('any text or html here is valid, <b>Hey look bold</b>.');
8
ответ дан 5 December 2019 в 18:56
поделиться

Работа с текстовыми узлами - не сильная сторона JQuery. Вы можете использовать обычные методы DOM:

$('#someDiv')[0].appendChild(document.createTextNode("body"));
0
ответ дан 5 December 2019 в 18:56
поделиться

Это потому, что jQuery рассматривает селекторы перед созданием фрагментов HTML. "body" является допустимым селектором и будет использоваться как селектор.

Лучше использовать функцию prepend для добавления HTML или текста к узлу:

 $('#someDiv').prepend('some text');

Значение, переданное в prepend, не используется в качестве селектора, и вы можете добавить текст «body».

0
ответ дан 5 December 2019 в 18:56
поделиться

Если он содержит html теги, то он обрабатывается как html (за исключением того, что он удаляет текст перед первым тегом и после последнего). например $("

some text
"). В противном случае он рассматривается как селектор, например $("some text").

1
ответ дан 5 December 2019 в 18:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: