Как заменить все содержимое <body>, а <div>на jquery? - PullRequest
1 голос
/ 10 июня 2009

Я получил разметку со следующей структурой:

<body>
  <h1>Title</h1>
  <p>bla</p>
  <div>
    ... <!-- a thousand tags -->
  </div>

  <div id="do-not-modify-me">
   <!-- a hundred tags -->
  </div>

</body>

Я хочу сделать небольшой поиск замены в теле, но это не должно изменить # do-not-modify-me, потому что к нему прикреплены события JS и ничего для их обновления.

Я играл с функцией not (), с фильтром и с селектором CSS 3 «: not», но не могу получить желаемый результат.

Ответы [ 3 ]

7 голосов
/ 10 июня 2009

Попробуйте это:

$('body > *:not(div#do-not-modify-me)').whateverYouWantToDo();

Редактировать : добавлено >

0 голосов
/ 10 июня 2009

Если ваш div верхнего уровня, вы можете перебирать все дочерние элементы тела и удалять их одного за другим, за исключением вашего div.

0 голосов
/ 10 июня 2009

Если вы хотите заменить все, но оставить свой div без изменений, вы можете сначала захватить текущее содержимое div, затем заменить все тело, а затем поместить свой div обратно в документ.

Надеюсь, это имело смысл ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...