Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Забрать содержимое тега и сам тег по ID 
V
    Опции темы
mikla
Дата 26.7.2009, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 3.12.2006
Где: Витебск

Репутация: нет
Всего: нет



Здравствуйте.

допустим у меня есть список: 

Код

<ul id='ul2'>
    <li id='li3'>
               data1
    </li>
    <li id='li4'>
                 data2
    </li>
    <li id='li5'>
                 data3
    </li>
</ul>


Как мне забрать весь тег целиком с помощью js или jquery? чтобы допустим ф-я getLiById(3) вернула мне :
Код

<li id='li3'>
         data1
</li>

--------------------
PM MAIL ICQ Skype   Вверх
unicross
Дата 26.7.2009, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 1
Всего: 53



mikla, а зачем вам это вообще нужно? Вы итак знаете, что это тег <LI>...

Получить можно через свойство outerHTML, но оно работает только в IE и Opera...
А можно и через одно место  smile , зато должно работать везде... smile  Могу ошибаться... smile 

Вот вам два варианта с помощью jQuery:
Код

<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
<!--
function getLiById1(id) {
   if (!id) return 'Не задан параметр';
   var elem = $("#li" + id);
   if (elem.length == 0) return 'Элемент не найден';
   elem.wrap("<div id='elemdiv'></div>");
   var result = $("#elemdiv").html();
   $("#elemdiv").replaceWith(result);
   return result;
}
function getLiById2(id) {
   if (!id) return 'Не задан параметр';
   var elem = $("#li" + id);
   if (elem.length == 0) return 'Элемент не найден';
   return elem.get(0).outerHTML;
}

$(document).ready(function() {
   $("#btn1").click(function() {
      $("#div1").text(getLiById1($("#txt1").val()));
      $("#div2").text(getLiById2($("#txt1").val()));
      //alert(document.getElementById("li3").outerHTML);
   });
});
//-->
</script>
</head>
<body>
<ul id='ul2'>
    <li id='li3'>
               data1
    </li>
    <li id='li4'>
                 data2
    </li>
    <li id='li5'>
                 data3
    </li>
</ul>
Введите индекс: 
<input type="text" id="txt1">
<input type="button" value="Получить значение" id="btn1"><br>
Результат:<br>
Вариант 1:<br>
<div id="div1"></div>
Вариант 2:<br>
<div id="div2"></div>
</body>
</html>

PM MAIL WWW   Вверх
mikla
Дата 29.7.2009, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 3.12.2006
Где: Витебск

Репутация: нет
Всего: нет



unicross,  спасибо smile
мне это нужно было т.к. в <li> могло быть еще куча атрибутов. 
и вообще нужно было для организации перемещения элементов) 
в итоге я разрешил все с помощью clone().

--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0748 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.