Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.03.2018, 23:21
Интересующийся
Отправить личное сообщение для lordenas Посмотреть профиль Найти все сообщения от lordenas
 
Регистрация: 08.11.2015
Сообщений: 14

В чем разница в получении элементов в Jquery и JS?
Подскажите пожалуйста новичку... Есть вот такой вот HTML код.
<div id="slider-13" class="test">
   <div class="rangeouter"></div>
   <div class="rangeinner"></div>
   <div class="rangeselector"></div>
   <div class="slider-line">
       <span>0</span>
       <span>1</span>
       <span>2</span>
       <span>3</span>
       <span>4</span>
   </div>
</div>


Если я обращаюсь к элементу slider-13 ко всем элементам span
я получаю коллекцию (массив) элементов.
document.getElementById('slider-13').getElementsByTagName('span');


А если при помощи Jquery получаю объект..

$('#slider-13 span')


В чем принципиальная разница? И как при помощи Jquery получить такой же результат как, и в первом запросе?
Ответить с цитированием
  #2 (permalink)  
Старый 26.03.2018, 23:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

lordenas,
далее что хотите сделать?
Ответить с цитированием
  #3 (permalink)  
Старый 26.03.2018, 23:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от lordenas
В чем принципиальная разница?
1 живая коллекция (количество span зависит от ваших маниуляций)
2 количество span фиксированное, то которое было на момент поиска элементов (span)
Ответить с цитированием
  #4 (permalink)  
Старый 26.03.2018, 23:52
Интересующийся
Отправить личное сообщение для lordenas Посмотреть профиль Найти все сообщения от lordenas
 
Регистрация: 08.11.2015
Сообщений: 14

Сообщение от рони Посмотреть сообщение
lordenas,
далее что хотите сделать?
Далее хочу пройтись циклом по всем span и отнять -10


var s13=document.getElementById('slider-13').getElementsByTagName('span');
for(var i=0;i<s13.length;i++){
    
    s13[i].innerHTML = s13[i].innerHTML-10;
}


а через jquery не получается так сделать..
Ответить с цитированием
  #5 (permalink)  
Старый 26.03.2018, 23:54
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

$('#slider-13 span').each(function(){
this.innerHTML -= 10;
});
Ответить с цитированием
  #6 (permalink)  
Старый 26.03.2018, 23:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

lordenas,
вариантов много ...
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
    $('#slider-13 span').html(function(i, num) {
     return num - 10
})
});
  </script>
</head>

<body>
<div id="slider-13" class="test">
   <div class="rangeouter"></div>
   <div class="rangeinner"></div>
   <div class="rangeselector"></div>
   <div class="slider-line">
       <span>0</span>
       <span>1</span>
       <span>2</span>
       <span>3</span>
       <span>4</span>
   </div>
</div>

</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 27.03.2018, 00:03
Интересующийся
Отправить личное сообщение для lordenas Посмотреть профиль Найти все сообщения от lordenas
 
Регистрация: 08.11.2015
Сообщений: 14

Сообщение от рони Посмотреть сообщение
1 живая коллекция (количество span зависит от ваших маниуляций)
2 количество span фиксированное, то которое было на момент поиска элементов (span)
Спасибо за ответы!

1) То есть при обращении к переменной там может быть всегда разное значение?
Ответить с цитированием
  #8 (permalink)  
Старый 27.03.2018, 00:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от lordenas
То есть при обращении к переменной там может быть всегда разное значение?
да, будет то которое "сейчас".
Ответить с цитированием
  #9 (permalink)  
Старый 27.03.2018, 00:07
Интересующийся
Отправить личное сообщение для lordenas Посмотреть профиль Найти все сообщения от lordenas
 
Регистрация: 08.11.2015
Сообщений: 14

Спасибо за разъяснение!
Ответить с цитированием
  #10 (permalink)  
Старый 27.03.2018, 00:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от lordenas
1) То есть при обращении к переменной там может быть всегда разное значение?
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
    var jsSpan = document.getElementById('slider-13').getElementsByTagName('span'),
    jquerySpan = $('#slider-13 span');
    $("<div>до удаления jsSpan : " + jsSpan.length +" <br>jquerySpan : " + jquerySpan.length + "</div>").appendTo("body");
    $('#slider-13 span').last().remove();//удаление последнего span
    $("<div>после удаления jsSpan : " + jsSpan.length +" <br>jquerySpan : " + jquerySpan.length + "</div>").appendTo("body");

});
  </script>
</head>

<body>
<div id="slider-13" class="test">
   <div class="rangeouter"></div>
   <div class="rangeinner"></div>
   <div class="rangeselector"></div>
   <div class="slider-line">
       <span>0</span>
       <span>1</span>
       <span>2</span>
       <span>3</span>
       <span>4</span>
   </div>
</div>

</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить сумму элементов больших, чем введённое значение marc Общие вопросы Javascript 10 02.12.2017 02:10
Скобки после имени функции. В чем разница, если они есть и если их нет? jsuse Общие вопросы Javascript 2 19.11.2011 16:11
JQuery и JS - динамичность элементов MCTrane jQuery 1 26.10.2010 21:41
Вакансия: Front-end разработчик (HTML, CSS, JS, Ajax, jQuery) ivankov Работа 0 05.10.2010 19:00
В чем разница? Cognac Events/DOM/Window 3 15.03.2010 16:41