Учитывая объект jQuery, $j
, мне нужно знать, представляет ли он что-то, что уже есть на странице, или если оно еще не было помещено на страницу. Например, если у меня есть это:
$j = $('#id-of-something-already-on-the-page');
или
$j = $('<p>Where is pancake house?</p>').appendTo($('#this-is-already-there'));
Затем у меня есть что-то на странице, и мне не нужно размещать его на странице. Но, если у меня есть это:
$j = $("<p>I'll cook you some eggs, Margie.</p>");
Затем мне нужно добавить его, прежде чем он появится на странице.
Вопрос в том, как вы спрашиваете $j
, находится ли он на странице или нет? Я знаю два способа работы достаточно хорошо:
- Посмотрите, есть ли у него родительский элемент:
$j.parent().length > 0
означает, что он находится на странице. - Посмотрите, имеет ли он действительный индекс:
$j.index() > -1
означает, что он находится на странице.
Я вижу, что первый из них не работает, если $j
- это html
или, возможно, body
; Я рад проигнорировать эти два патологических случая. Я не могу думать о том, что второй подход потерпит неудачу.
Существует ли стандартный метод для запроса, является ли объект jQuery на странице или нет? Мне все равно, видно ли $j
.