выкинул этот див вобще и заменил на ":::" сплит по нему разделил что мне нужно, не совсем то что спрашивал, но цели достиг :)
|
теперь конструкция поиска контента див не работает :( как то может не так запрашиваю?
У меня элемент состоит теперь из трех дивов (контент с тегами): <div class="time1"> 12:00 </div> <div class="time2"> 13:00 </div> <div class="msg"> Обедать </div> - как можно вычленить содержимое дивов? ... alert(MyArray[i].find('.msg').html()); несрабатывает почемуто... |
MyArray - это что?
|
это мой массив:
var MyArray = data.split(':::'); где data это переменная куда загрузил содержимое файла элемент массива это 3 дива, пытаюсь достучаться до их содержания через такую конструкцию: $.each(MyArray, function (i, element) { //alert(MyArray[i].filter().find('.msgbody').html()); alert(element.find('.msg').html()); }); |
Не называйте массив с большой буквы. С большой буквы принято называть классы.
Пользуйтесь console.log для вывода отладочной информации. Попробуйте написать свою функцию в консоле. Поработайте со своей функцией. Почитайте об операциях со строками. Если элемент массива MyArray - это строка с 3-мя дивами, то методы filter, find и т. д. здесь не будут работать, так как они работают с элементами html |
Для примера несколько методов для работы со строками:
search, test, replace, split; Каждая строка в свою очередь - это массив символов, изучите методы работы с массивами. Т.е. к каждой строке мы можем обратиться методом length и получить количество символов в ней, можем обратиться к любому символу строки str[num];//где num - номер символа Все это базовые навыки работы с javascript (да и с любым другим языком программирования). Изучайте массивы и строки. |
Собственно тут есть важный вопрос. Для чего вам нужна эта строка? вы добавляете её на сайт из файла или с сайта забираете информацию?
|
ok, попробую - пока без понятия как этой консолью пользоваться :(
а насчет методов - они прекрасно работают если строка содержит html: <div id="msg_1"> <div class="time1"> 12:00 </div> <div class="time2"> 13:00 </div> <div class="msg"> Обедать </div> </div> и тогда такой код прекрасно работает, а если убрать обрамляющий див - неработает :( значит ошибка где то в синтаксе я полагаю... $.each(myArray, function (i, element) { var fileMsg = $(element).filter('#msg_1').find('.msg').html(); alert(fileMsg); }); |
Цитата:
|
Цитата:
Вопрос в том, что мне нужно переодически просматривать файл и выводить или прятать собщения из него на этой странице - для красоты я прикрутил бегущию строку и все прекрасно работает, если собщение одно, но технически их может быть и 200, но указываеться время когда собщение должно показываться и до скольки. Вот я и пытаюсь прочесть файл с собщениями и их временами и обработать, чтоб вывести в свой див только актуальное собщение, а не весь файл. Все что мне нужно - это вычленить из дивов время чтобы знать выводить или прятать собщение и собственно само собщение, которое к тому же может содержать html код типа размера букв, шрифт, цвет и т.д. - все уже работает когда собщение одно, а вот с несколькими еще нет |
Часовой пояс GMT +3, время: 03:35. |