Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Аналог JQ closest (), но без JQ (https://javascript.ru/forum/dom-window/52520-analog-jq-closest-no-bez-jq.html)

andreyua 23.12.2014 03:29

Аналог JQ closest (), но без JQ
 
Как можно реализовать аналог этого http://api.jquery.com/closest/ не применяя jquery, а используя обычный JS..

krasovsky 23.12.2014 07:48

цикл for,while перебирай всех предков, сравнивая в каждой итерации id\class предка с нужным тебе, если совпал - то что ищешь, прекращаешь цикл.

рони 23.12.2014 10:01

andreyua,
http://javascript.ru/forum/dom-windo...-v-jquery.html

andreyua 23.12.2014 14:22

Из тех примеров ничего у меня не работает. Просьба, закиньте рабочую функцию сюда, кто может...

рони 23.12.2014 14:29

andreyua,
значит если там нет рабочих функций то их нет совсем :cray:

andreyua 23.12.2014 15:30

Есть . нашёл в другом месте
function getClosest(el, tag) {
  // this is necessary since nodeName is always in upper case
  tag = tag.toUpperCase();
  do {
    if (el.nodeName === tag) {
      // tag name is found! let's return it. :)
      return el;
    }
  } while (el = el.parentNode);

  // not found :(
  return null;
}

andreyua 23.12.2014 15:33

Теперь нужен аналог этого:
prev : function(selector) { return jQuery; },

рони 23.12.2014 15:43

Цитата:

Сообщение от andreyua
нашёл в другом месте

вам предложили универсальнное решение - вы предпочли частный случай ...
Цитата:

Сообщение от andreyua
prev : function(selector) { return jQuery; },

а это неизвестно что.

andreyua 23.12.2014 15:52

Я же говорю дайте функцию вашу универсальную, чтобы она у меня работала ... Так как у меня не работает . ниче по вашей ссылке...

А prev это - http://jqapi.com/#p=prev
Че тут неипонятного.. Короче. если и дальше собираетесь отвечать не по делу. то я лучше дождусь ответа от другого пользователя...

andreyua 23.12.2014 16:22

Так кто то поможет с prev , пожалуйста...?

рони 23.12.2014 21:53

Rise,
ссылку на посмотреть prev в jquery можно?
function prev(el)
      {
         return el.previousSibling
      }

BETEPAH 23.12.2014 22:02

Цитата:

Сообщение от рони
ссылку на посмотреть prev в jquery можно?

http://code.jquery.com/jquery-1.11.2.js 3019 строка
prev: function( elem ) {
		return sibling( elem, "previousSibling" );
	}

sibling - чуть выше.
Цитата:

Сообщение от andreyua
Я же говорю дайте

что за нравы?..

рони 23.12.2014 22:04

BETEPAH,
спасибо

рони 23.12.2014 22:25

:)
prev jquery

andreyua 23.12.2014 22:26

Цитата:

Сообщение от BETEPAH (Сообщение 347966)
http://code.jquery.com/jquery-1.11.2.js 3019 строка
prev: function( elem ) {
		return sibling( elem, "previousSibling" );
	}

sibling - чуть выше.

что за нравы?..

Мои нравы доведут тебя до управы :)
Всем спасибо

andreyua 23.12.2014 22:40

А почему там previousSibling в квадратных скобках. хотя по всему нету такого не встречал...

рони 23.12.2014 22:42

Цитата:

Сообщение от andreyua
там previousSibling в квадратных скобках

где?

рони 23.12.2014 22:45

andreyua,
el.previousSibling и el["previousSibling"] одинаковые записи -- читайте документацию

рони 23.12.2014 22:47

andreyua,
доступ-через-квадратные-скобки


Часовой пояс GMT +3, время: 01:10.