2016-01-16 4 views
1

Мой HTML:Как получить ссылку внутри li с jQuery?

<div id="myDiv"> 
     <ul class="myClass" style="display: block;"> 
      <li class="directory selected"> 
      <a href="#" rel="src/fd/">fd</a> 
       <ul class="jqueryFileTree" style="display: block;"> 
        <li class="file ext_jpg"> 
        <a href="#">drevilblu.jpg</a> 
        </li> 
       </ul> 
      </li> 
     </ul> 
    </div> 

Мне нужно получить fd по запросу:

var folderName = $("#myDiv").find("li.selected a").text(); 

Но я получаю drevilblu.jpg вместо этого.
Как получить a внутри li class="directory selected"

+0

Если вы еще раз посмотрите на нее, вы увидите, что [вы получаете 'fddrevilblu.jpg'] (https://jsfiddle.net/hLb43583 /) вместо 'drevilblu.jpg'. Вы выбираете _both_ links, а '.text()' объединяет внутренний текст этих двух. – Stryner

ответ

1

Try следующие

var folderName = $("#myDiv").find("li.selected > a").text(); 

Вам нужно первый уровень ребенка Ли с классом выбранного. Для этого вам необходимо >

+2

Хорошо с помощью «try», пожалуйста, объясните, почему он работает, а решение OP - другое. – nicael

+0

@nicael - Был на моем пути. Благодарю. – nikhil

+0

Спасибо за ваш ответ –

0

Использование прямого ребенка селектор вместо:

var folderName = $("#myDiv").find("li.selected > a").text(); 
+0

@nicael должен быть отправлен одновременно. В противном случае я проверяю ответы перед публикацией моего сообщения. –

+0

Вы отправили свои сообщения почти через минуту после того, как был опубликован другой, достаточно, чтобы заметить «1 новый ответ». Я просто удалю его, потому что он ничего не добавляет к сообщению. – nicael

+1

@nicael - На самом деле, нет, динамические обновления не всегда происходят в течение 30 секунд, и легко пропустить другой ответ, когда вы печатаете, поэтому imo это не повод для downvote. – adeneo

Смежные вопросы