выделите имя под списком, сопоставив его содержимое с текстом id id

0

У меня есть неупорядоченный список, подобный этому

   <ul>
        <li id="projectrow_364"> 
            <span>Forest</span>
        </li>
        <li id="projectrow_365"> 
            <span>Life</span>
        </li>
        <li id="projectrow_367"> 
            <span>House</span>
        </li>
        <li id="projectrow_388"> Country
            <ul>
               <li id="projectrow_390"> 
               <span>US</span>
             </li>
            </ul> 
        </li>
   <ul>

И на той же странице у меня есть

<h3  id="project-title-id"> US</h3>

поэтому я хочу добавить это имя класса " class="activeProject" " выше <ul> li name, где текст этого # идентификатора проекта совпадает с <ul> <li> текстовым значением.... Как это сделать это с jquery?

  • 0
    Можете ли вы добавить JSFIDDLE
  • 0
    ОП не имеет кода @Dave
Показать ещё 8 комментариев
Теги:

2 ответа

0
Лучший ответ

Вот один из способов: http://jsfiddle.net/jayblanchard/VyBgu/

var currentHeader = $.trim( $('#project-title-id').html() );
var currentLI = $('li span:contains(' + currentHeader + ')');
currentLI.addClass('activeProject');
  • 0
    точное решение. Спасибо
0

jQuery предоставляет :contains селектор, чувствительный к регистру:

var str = $('#project-title-id').text();
var li = $('ul li ul li:contains('+str+')');
li.addClass('activeProject');

http://jsfiddle.net/mblase75/HCWm4/

https://api.jquery.com/contains-selector/

  • 0
    Сожалею! Вы правы, то, что вы сделали, точно так же. Новая вещь :contains я собираюсь использовать в моем проекте с этого момента. Благодарю.
  • 0
    Я думаю, что использование селектора :contains может иметь другой результат, отличный от ожидаемого OP jsfiddle.net/viphalongpro/HCWm4/1 В таком случае, возможно, OP хочет, чтобы USA не рассматривались как activeProject . Однако, как выглядит в ситуации с ОП, его можно использовать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню