Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.07.2015, 19:13
Интересующийся
Отправить личное сообщение для nikolaichIl Посмотреть профиль Найти все сообщения от nikolaichIl
 
Регистрация: 06.10.2011
Сообщений: 20

Как с помощью jQuery получить информацию из li
<div id="navid" class="navclass">
  <ul>
    <li>Folder 1</a>
      <ul>
        <li><a href="#">Sub Item 1.1</a></li>
        <li><a href="#">Sub Item 1.2</a></li>
        <li>Folder 2
          <ul>
            <li><a href="#">Sub Item 2.1</a></li>
            <li><a href="#">Sub Item 2.2</a></li>
            <li><a href="#">Sub Item 2.3</a></li>
          </ul>
        </li>
      </ul>
    </li>
  </ul>
</div>


Как получить в следующем формате, как, например, для "Sub Item 2.2":
alert(путь: 0=>2=>1; текст: Folder 1=>Folder 2=>Sub Item 2.2)

Последний раз редактировалось nikolaichIl, 25.07.2015 в 20:30.
Ответить с цитированием
  #2 (permalink)  
Старый 25.07.2015, 19:54
Аватар для jasper-blondin
Аспирант
Отправить личное сообщение для jasper-blondin Посмотреть профиль Найти все сообщения от jasper-blondin
 
Регистрация: 11.07.2015
Сообщений: 33

Сообщение от nikolaichIl Посмотреть сообщение
0=>2=>2
А что это за цифры? Может, все таки, 0=>2=>1 ?
Ответить с цитированием
  #3 (permalink)  
Старый 25.07.2015, 20:32
Интересующийся
Отправить личное сообщение для nikolaichIl Посмотреть профиль Найти все сообщения от nikolaichIl
 
Регистрация: 06.10.2011
Сообщений: 20

Сообщение от jasper-blondin
А что это за цифры? Может, все таки, 0=>2=>1 ?
Да, конечно, исправил
Сообщение от nikolaichIl
Как получить в следующем формате, как, например, для "Sub Item 2.2":
alert(путь: 0=>2=>1; текст: Folder 1=>Folder 2=>Sub Item 2.2)
И, если это возможно, пожалуйста, без регулярных выражений.

Последний раз редактировалось nikolaichIl, 25.07.2015 в 20:51.
Ответить с цитированием
  #4 (permalink)  
Старый 25.07.2015, 21:28
Аватар для jasper-blondin
Аспирант
Отправить личное сообщение для jasper-blondin Посмотреть профиль Найти все сообщения от jasper-blondin
 
Регистрация: 11.07.2015
Сообщений: 33

<div id="navid" class="navclass">
  <ul>
    <li>Folder 1
      <ul>
        <li><a href="#">Sub Item 1.1</a></li>
        <li><a href="#">Sub Item 1.2</a></li>
        <li>Folder 2
          <ul>
            <li><a href="#">Sub Item 2.1</a></li>
            <li id="el"><a href="#">Sub Item 2.2</a></li>
            <li><a href="#">Sub Item 2.3</a></li>
          </ul>
        </li>
      </ul>
    </li>
  </ul>
</div>


var $el = $("#el");

var positions = [$el.index()];
var values = [$.trim($el.text())];
$("#el").parents("li").each(function() {
    $this = $(this);
    positions.unshift($this.index());
    var html = $this.html();
    var position = html.indexOf("<", 1);
    values.unshift($.trim(html.slice(0, position)));
});

result = "positions: " + positions + "; values: " + values;

alert(result);
Ответить с цитированием
  #5 (permalink)  
Старый 25.07.2015, 21:50
Интересующийся
Отправить личное сообщение для nikolaichIl Посмотреть профиль Найти все сообщения от nikolaichIl
 
Регистрация: 06.10.2011
Сообщений: 20

Спасибо !
Но надо без
id="el"

Последний раз редактировалось nikolaichIl, 25.07.2015 в 21:55.
Ответить с цитированием
  #6 (permalink)  
Старый 25.07.2015, 23:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

nikolaichIl,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
$(function(){
function fn(str, el) {
    var arr = [],
        str = "li:contains(" + str + ")",
        el = $(el);
    while (el.find(str).length) {
        el = el.find(str);
        i = el.siblings().add(el).index(el);
        arr.push(i)
    }
    return arr
};
var str = "Sub Item 2.2"
alert(fn(str, "#navid").join(" => "))
});

  </script>
</head>

<body>

<div id="navid" class="navclass">
  <ul>
    <li>Folder 1
      <ul>
        <li><a href="#">Sub Item 1.1</a></li>
        <li><a href="#">Sub Item 1.2</a></li>
        <li>Folder 2
          <ul>
            <li><a href="#">Sub Item 2.1</a></li>
            <li><a href="#">Sub Item 2.2</a></li>
            <li><a href="#">Sub Item 2.3</a></li>
          </ul>
        </li>
      </ul>
    </li>
  </ul>
</div>


</body>

</html>
Ответить с цитированием
  #7 (permalink)  
Старый 26.07.2015, 14:09
Интересующийся
Отправить личное сообщение для nikolaichIl Посмотреть профиль Найти все сообщения от nikolaichIl
 
Регистрация: 06.10.2011
Сообщений: 20

Спасибо !
Но, если можно, дополните до
alert(путь: 0=>2=>1; текст: Folder 1=>Folder 2=>Sub Item 2.2)
Кроме того текст
Sub Item
может быть не в одном узле

<div id="navid" class="navclass">
  <ul>
    <li>Folder 1
      <ul>
        <li><a href="#">Sub Item 1.1</a></li>
        <li><a href="#">Sub Item 1.2</a></li>
        <li>Folder 2
          <ul>
            <li><a href="#">Sub Item</a></li>
            <li><a href="#">Sub Item</a></li>
            <li><a href="#">Sub Item</a></li>
          </ul>
        </li>
      </ul>
    </li>
  </ul>
</div>

Последний раз редактировалось nikolaichIl, 26.07.2015 в 14:33.
Ответить с цитированием
  #8 (permalink)  
Старый 26.07.2015, 14:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

nikolaichIl,
Сообщение от nikolaichIl
Но, если можно, дополните до
=> Учебник || Работа
Ответить с цитированием
  #9 (permalink)  
Старый 26.07.2015, 14:56
Интересующийся
Отправить личное сообщение для nikolaichIl Посмотреть профиль Найти все сообщения от nikolaichIl
 
Регистрация: 06.10.2011
Сообщений: 20

Профессору надоело...
Ответить с цитированием
  #10 (permalink)  
Старый 26.07.2015, 16:45
Аватар для jasper-blondin
Аспирант
Отправить личное сообщение для jasper-blondin Посмотреть профиль Найти все сообщения от jasper-blondin
 
Регистрация: 11.07.2015
Сообщений: 33

Если человек ставит конкретную задачу -- ему обязательно помогут.
Если человек сам не понимает, чего хочет -- результат соответствующий.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить данные JSON без jQUERY strongest Javascript под браузер 17 19.01.2014 20:07
Как с помощью жс получить дефолтные стили браузера? grifangel Общие вопросы Javascript 2 24.12.2013 02:21
Получить функцию JavaScript (PHP, AJAX, jQuery) Sinot jQuery 3 04.02.2013 13:32
Как получить значение title с помощью js? faforty Общие вопросы Javascript 4 25.08.2011 18:47
как с помощью jquery отсылать без перезагрузки... serhanters jQuery 11 22.07.2011 21:17