Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Вопросы по jQuery

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Открыть новую тему     Написать ответ в эту тему

Jokerjar79



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Фильтр по слову "jquery" не дал какой-либо общей темы по этой библиотеке, поэтому решился создать. У меня возник такой вопрос: согласно справочной документации такой код:
 

Код:
  <p>1</p>
  <p>2</p>
  <p>3</p>
  <p>4</p>
 
  <script language="javascript">
      $("p")[0].html("test");
  </script>

 
должен <p>1</p> заменить на <p>test</p>. Но не работает. Пробовал еще так:
 

Код:
$("p").get(0).html("test");

 
Есть подозрения, что мануал, по которому осваиваю библиотеку, написан для более старой версии, а позже принцип обращения к конкретному элементу из коллекции как-то изменился. Кто знает, как реализовать это (версия библиотеки - v1.3.2)



Документация по jQuery - eng, рус

Всего записей: 710 | Зарегистр. 08-09-2007 | Отправлено: 16:22 11-08-2009 | Исправлено: Cheery, 07:35 09-08-2013
DarkSmoke



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Cheery
Без вас никуда, до сих пор не могу решить проблему  
сайт http://ukr-kurs.com.ua/ если заходить с телефона, он складывается. Если нажать на валюту рубль, евро, и по прокручивать сайт вверх-вниз, то таблица с валютой пропадает
 
В чем бок не знаю (((

Всего записей: 962 | Зарегистр. 08-10-2005 | Отправлено: 17:18 16-04-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DarkSmoke
для этого нужно вникать в вашу логику.. попробуйте местами поменять

Цитата:
            $('#bank tr.row').each(function(){
                    $('#bank td:nth-child(2)').show();
                    $('#bank td:nth-child(3)').show();

                    $('#bank td:nth-child(4)').hide();
                    $('#bank td:nth-child(5)').hide();        
                    $('#bank td:nth-child(6)').hide();
                    $('#bank td:nth-child(7)').hide();
                })

сначала все спрятать, а потом показать. потому, что когда добавляете что то для показа, то это может сделать строку шире и спровоцировать какие то еще изменения.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:14 16-04-2014
deadworldi



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
привет. можете помочь  
 
есть скрипт  
 
            <script type="text/javascript">    
$(document).ready(function(){  
$('a').attr('wwwlu_name', '{news_id}');  
});</script>  
                <script type="text/javascript">    
$(document).ready(function(){  
$('a').attr('wwwlu_size', '5428');  
});</script>  
                <script type="text/javascript">    
$(document).ready(function(){  
$('a').attr('wwwlu_type', 'torrent');  
});</script>  
             
 
а как например мне поставить фильтр чтоб добавляло только в эти ссылки  
 
<a href="http://luxtorrent.com/engine/download.php?id=2314" file="Vikings.s02х01.WEBDLRip.HitWay.torrent" size="5428" tipe="torrent">

Всего записей: 3 | Зарегистр. 30-04-2014 | Отправлено: 19:45 30-04-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
deadworldi

Цитата:
только в эти ссылки  

"эти" определяются чем? что у них есть общее?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:42 30-04-2014
Bu

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
deadworldi

Код:
$("a[href*='download.php']")

Всего записей: 79 | Зарегистр. 08-10-2001 | Отправлено: 22:01 30-04-2014
deadworldi



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bu
спасибо.

Всего записей: 3 | Зарегистр. 30-04-2014 | Отправлено: 23:28 30-04-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно как-то чисто с помощью jQuery "выбрать" элемент, содержащий нужный текстовый узел, являющийся дочерним по отношению к выбранному элементу?
Т.е. есть к примеру

Код:
<div>
   какой-то текст
   <div>
      <span>чего-то тут</span>
      нужный текстовый узел
   </div>
</div>
<div>
   какой-то текст
   <div>
      <span>чего-то тут</span>
      нужный текстовый узел2
   </div>
</div>

нужно выбрать именно внутренние <div>, т.к. именно они является родителем нужных текстовых узлов.
jquery-селектор :contains()  не годится, т.к. он включит и внешние <div>.
Понятно, что можно с помощью чистого клиентского JS (elem.childNodes => найти текстовый узел и проверить его), но может можно и с помощью jQuery, чтобы не мешать jQuery и методы JS ?

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 10:02 15-05-2014 | Исправлено: unreal666, 10:03 15-05-2014
Bu

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Код:
$("div:contains('нужный текстовый')").not(":has(div)");

Всего записей: 79 | Зарегистр. 08-10-2001 | Отправлено: 15:42 15-05-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bu
указанный пример - это всего лишь пример. Теги могут быть любыми (используется моим википодобным "шаблонизатором").
 
ЗЫ.
Ладно проехали. Походу мне вообще придется делать выборку не на jQuery, т.к. до меня недавно дошло, что у меня не просто текст, а регулярка.

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 16:16 15-05-2014 | Исправлено: unreal666, 16:18 15-05-2014
Bu

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Теги могут быть любыми (используется моим википодобным "шаблонизатором").

И причем тут jquery?

Всего записей: 79 | Зарегистр. 08-10-2001 | Отправлено: 16:33 15-05-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
притом, что узлы с этими шаблонами надо сначала выбрать, чтобы обработчик шаблонов мог оперировать вышележащими узлами.
 
Добавлено:
кажется что-то намутил:

Код:
$(':contains(' + rule['start'] + '):contains(' + rule['end'] + ')').not('script, head, html, style')
    .contents().filter(function(){
        return this.nodeType === 3 && $(this).text().search(regexpProtoTemplate) !== -1;
    })
    .each(function(index, textNode){
        код обработки
    });

смотря что быстрее будет.
 
rule['start'] и rule['end'] - это начало и конец шаблона,
regexpProtoTemplate - собственно регулярное выражение шаблона.

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 16:45 15-05-2014 | Исправлено: unreal666, 00:51 16-05-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В jquery можно как-то обернуть обычный текст в объект jQuery с созданием html-элементов?
Сейчас приходится делать так:

Код:
$(document.createElement('span')).html(обычный текст).slice(0).contents().slice(0).unwrap();

но это как-то длинно.

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 00:50 16-05-2014
Bu

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Код:
$("<span>").html("ататататата");

Всего записей: 79 | Зарегистр. 08-10-2001 | Отправлено: 00:54 16-05-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bu
ну немного короче, но полное все равно остается как

Код:
$("<span>").html(обычный текст).slice(0).contents().slice(0).unwrap();

после .html(обычный текст) код, удаляющий эту временную обертку <span>. Вот и хотелось бы избавиться вообще от этой обертки.
 
ЗЫ.
Еще.
Как попроще добраться до ближайшего элемента-родителей, соответствующих селектору, и выше не подниматься. Т.е., к примеру, код:

Код:
<div class="nnnn">
    <div class="xxx">
        <div class="nnnn">
            <div class="xxx">
                <span class="need">ddddddd</span>
            </div>
        </div>
    </div>
</div>

$('span.need').????
 
Попроще, значит безо всяких циклов с проверками и т.п., т.е. только селекторами.
 
Может
$('span.need').closest('div.nnnn')
?

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 01:13 16-05-2014 | Исправлено: unreal666, 01:23 16-05-2014
Bu

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 Вот и хотелось бы избавиться вообще от этой обертки.  

Не понял в чем смысл. Пустой .html() возвращает контент тега.

Цитата:
$('span.need').????  

.parents(".nnnn") по-моему.

Всего записей: 79 | Зарегистр. 08-10-2001 | Отправлено: 01:24 16-05-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Не понял в чем смысл. Пустой .html() возвращает контент тега.

пустой html тут ни при чем. Мне нужно текст преобразовать в jQuery-объект с генерацией узлов. А это кажется делается только с помощью .html(), а этот метод нормально можно вызвать кажется только у jQuery-html-элемента.
Т.е. такие штуки не прокатывают:

Код:
$(document.createDocumentFragment()).html('текст')
 
$('текст')

в обоих случаях в jQuery-объект ничего не добавляется.
 

Цитата:
.parents(".nnnn") по-моему.

.parents(".nnnn") выдаст всех совпавших родителей. А вот .closest('.nnnn') судя по моему тесту на вышеприведенном коде выдает именно ближайшего совпавшего родителя.

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 01:44 16-05-2014 | Исправлено: unreal666, 02:05 16-05-2014
Bu

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
пустой html тут ни при чем. Мне нужно текст преобразовать jQuery-объект с генерацией узлов.

Мне это напоминает:
 

Всего записей: 79 | Зарегистр. 08-10-2001 | Отправлено: 01:59 16-05-2014 | Исправлено: Bu, 02:00 16-05-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bu
напоминает ... не напоминает, но такова цель. И причем тут вообще пустой .html() - не понятно.

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 02:05 16-05-2014
Bu

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666
может $().add("ататататата");

Всего записей: 79 | Зарегистр. 08-10-2001 | Отправлено: 02:11 16-05-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bu
неа.
$().add("ататататата").length > 0; false
$().add("<a>vvv</a>").length > 0;  // true
$().add("bbb<a>vvv</a>").length > 0; // Error

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 02:16 16-05-2014 | Исправлено: unreal666, 02:16 16-05-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Компьютерный форум Ru.Board » Интернет » Web-программирование » Вопросы по jQuery


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru