Меня немного смущает вопрос о том, какой метод jQuery и / или селекторы использовать при попытке выбрать элемент, а затем удалить определенные элементы-потомки из упакованного набора.
Например, с учетом следующего HTML:
<div id="article">
<div id="inset">
<ul>
<li>This is bullet point #1.</li>
<li>This is bullet point #2.</li>
<li>This is bullet point #3.</li>
</ul>
</div>
<p>This is the first paragraph of the article</p>
<p>This is the second paragraph of the article</p>
<p>This is the third paragraph of the article</p>
</div>
Я хочу выбрать статью:
var $article = $('#article');
, но затем удалите <div id="inset"></div>
и его потомков из упакованного набора. Я попробовал следующее:
var $article = $('#article').not('#inset');
но это не сработало, и, оглядываясь назад, я думаю, я понимаю, почему. Я также безуспешно пытался использовать remove()
.
Как правильно это сделать?
В конечном итоге мне нужно настроить это таким образом, чтобы я мог определить массив конфигурации, например:
var selectors = [
{
select: '#article',
exclude: ['#inset']
}
];
, где select
определяет один элемент, содержащий текстовое содержимое, а exclude
- необязательный массив, определяющий один или несколько селекторов для игнорирования текстового содержимого.
Учитывая окончательный упакованный набор с удаленными исключенными элементами, я хотел бы иметь возможность вызвать метод text()
в jQuery, чтобы получить следующий текст:
Это первый абзац статьи.
Это второй абзац статьи.
Это третий абзац статьи.
Массив конфигурации не должен работать точно так же, но он должен обеспечивать примерно эквивалентный потенциал конфигурации.
Спасибо за любую помощь, которую вы можете оказать!