Как использовать JQuery “после” селектора

Если они имеют одинаковые размеры, одна возможность состоит в том, чтобы нарисовать два изображения непосредственно друг над другом, а класс CSS :hover для верхнего изображения, имеющего display: none;

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

8
задан Priyanga 18 October 2019 в 05:28
поделиться

3 ответа

Пойдите наоборот и использование insertAfter().

$("<div id='xxx'></div>")
    .append($("#someotherdiv").clone())
    .insertAfter("#somediv > ul")

Попытайтесь добавить свои сгенерированные узлы DOM к документу только после окончания Вашей работы.

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

9
ответ дан 5 December 2019 в 12:15
поделиться

используйте insertAfter ():

$("<div id='xxx'></div>").insertAfter("#somediv > ul").append($("#someotherdiv").clone())
5
ответ дан 5 December 2019 в 12:15
поделиться

Как я могу наиболее эффективно выбрать то промежуточное отделение, которое я добавил с "после" и поместил свой "#someotherdiv" в него?

Решением @Vincent является, вероятно, самый быстрый способ получить тот же результат. Однако, если по любой причине Вы должны добавить отделение с after() затем должен выбрать его и воздействовать на него, можно использовать

.nextAll( [expr] )

Find all sibling elements after the current element.
Use an optional expression to filter the matched set.

Таким образом, Ваш js становится:

$("#somediv > ul")
    .after("<div id='xxx'></div>")
    .nextAll('#xxx')
    .append($("#someotherdiv").clone());
0
ответ дан 5 December 2019 в 12:15
поделиться
Другие вопросы по тегам:

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