Как удалить все из тела, кроме одного тега с классом perticular с помощью jQuery? - PullRequest
2 голосов
/ 28 октября 2009

Вероятно, это будет довольно странный вопрос. Но я подумал, что попробую.

Есть ли способ удалить все из тела, кроме одного тега, который имеет определенный класс?

в моем случае это тег с href.

Мне нужно «выловить» тег, а затем отобразить в DOM только тег href, скажем, в теге p.

<body>
 <a class="avatar_user_name" href="/product/xyz">Title</a>

...other body tags and text

<a class="avatar_user_name" href="/product/abc">Title</a>
</body>

и в результате мне нужно что-то вроде этого

<body>
<p>xyz</p>
<p>abc</p>
</body>

Спасибо за любую помощь заранее Привет

Ответы [ 2 ]

4 голосов
/ 28 октября 2009

Не уверен, что это сработает, но стоит попробовать?

<script type="text/javascript>
$(document).ready(function() {

    // obtain list of links
    var a = [];
    $('a.avatar_user_name').each(function(i,e) {
        a[i] = $(this).attr('href');
    });
    // build up a new page
    $('body').empty();
    for (var i = 0, j = a.length; i < j; i++) {
        $('body').append('<p>' + a[i] + '</p>');
    } 
});
</script>

Дайте нам знать, если это работает, мне было бы интересно, если это работает! Удачи!

0 голосов
/ 28 октября 2009

Я не могу придумать, как это сделать. Я думаю, что лучшим вариантом будет либо захватить или кодировать значения 2-х ссылок в JS, удалить все внутри тела, а затем добавить ссылки обратно. Возможно, не самый эффективный, но обычно люди не удаляют все внутри тега body тоже.

Другой вариант - добавить тег вокруг всего остального внутри тега body (если структура страницы так же проста, как ваш пример в вопросе). Этот тег не должен быть тегом форматирования, но может быть диапазоном с идентификатором. В этом случае вы просто удалите все внутри этого тега.

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