JQuery - найти правильный div в зависимости от входного значения - PullRequest
0 голосов
/ 29 марта 2012

я застрял с проблемой

В основном я пытаюсь создать функцию, в которой я выделяю разный текст (из массива) разным divам одного и того же класса. Эти div различаются по id, вот пример того, что я имею в виду

HTML-разметка

<div class='actContainer'>
    <div class='msgContainer'>
       <input class='activityId' type='hidden' value='1'>
       <div class='date'> </div> 
    </div>

    <div class='msgContainer'>
       <input class='activityId' type='hidden' value='2'>
       <div class='date'> </div> 
    </div>

    <div class='msgContainer'>
       <input class='activityId' type='hidden' value='3'>
       <div class='date'> </div> 
    </div>
</div>

JQuery код

var textArr = ['time1', 'time2', 'time3'];
var id = [1, 2, 3];

$.each(textArr, function(key, value){      
   $('.actContainer').find('input#activityId').val()==id[key]
     .parent().find('div.date')
     .append("Posted message at"+textArr[key]); 
}

Как видно из кода, я пытаюсь поместить текст между тегом div.date.

В настоящее время это не работает, поэтому я, должно быть, делаю что-то не так, если кто-то может помочь, это будет высоко ценится

Ответы [ 3 ]

3 голосов
/ 29 марта 2012

Вам нужно это:

 $('.actContainer').find('input.activityId[value="'+id[key]+'"]')
     .siblings('.date')
     .text("Posted message at"+textArr[key]); 

Это означает, что вы ищете вход с классом ActivityId, который также имеет значение, равное id [key].Вы хотели бы найти рядом с ним div с датой класса, и вы хотели бы изменить его текстовое содержимое на «опубликованное сообщение ...»

1 голос
/ 29 марта 2012

Очень простой код:

$.each(textArr, function(key, value) {
  key = key +1
  $('input[value="'+key+'"]').siblings('.date').text("Posted message at "+value);
});

Я редактировал вашу скрипку - http://jsfiddle.net/9FAhJ/1/

1 голос
/ 29 марта 2012

«ActivityId» - это класс, а не идентификатор.Также я бы порекомендовал поместить идентификатор непосредственно в div даты или либо поместить идентификатор в родительский элемент (элемент с классом msgContainer)Это облегчит обращение к дате.

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