Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   даже не знаю как назвать топик, но во внутрь загляните (https://javascript.ru/forum/events/51544-dazhe-ne-znayu-kak-nazvat-topik-no-vo-vnutr-zaglyanite.html)

devote 10.11.2014 19:19

Цитата:

Сообщение от krutoy
Это можно было бы сократить нмного

Для этого есть минификаторы. Делать код в одну строчку, это не код а говнокод
Цитата:

Сообщение от krutoy
sel=document.querySelector.bind(document)

Метода .bind () нету в ИЕ8

krutoy 10.11.2014 19:19

Tecvid,
Но вообще, да, ронни прав, если надо выставить атрибут в значение пустой строки, мой вариант не сработает, я правда не знаю, зачем это нужно:)

Tecvid 10.11.2014 19:27

Цитата:

Сообщение от krutoy
если надо выставить атрибут в значение пустой строки, мой вариант не сработает

а вообще-то можно и это тоже проверить в условии, тем самым усложнив функцию, в теории звучит хорошо но на практике мне пока не нужна)) но возьму на заметку ;)

короче, всем большое спасибо :) очень признателен)

рони 10.11.2014 19:36

Цитата:

Сообщение от krutoy
я правда не знаю, зачем это нужно

сбросить атрибут в значение по умолчанию

krutoy 10.11.2014 19:41

Цитата:

Сообщение от рони
сбросить атрибут в значение по умолчанию

Можно сбросить во что угодно, он все равно не сработает. Зачем все усложнять.

devote 10.11.2014 19:48

function attr(selector, attrName, attrValue) {
  if (arguments.length > 2) {
    if (attrValue === null) {
      // удаляет атрибут
      return sel(selector).removeAttribute(attrName);
    }
    // задает значение атрибуту
    return sel(selector).setAttribute(attrName, attrValue);
  }
  // возвращает значение атрибута
  return sel(selector).getAttrubute(attrName);
}

krutoy 10.11.2014 19:50

рони,
В любом случае, проблема не велика, это пустое все, как выше заметил Tecvid

if(value||value==="") reurn ...
...
, делов то.:)

Tecvid 10.11.2014 20:06

Цитата:

Сообщение от devote (Сообщение 340275)
function attr(selector, attrName, attrValue) {
  if (arguments.length > 2) {
    if (attrValue === null) {
      // удаляет атрибут
      return sel(selector).removeAttribute(attrName);
    }
    // задает значение атрибуту
    return sel(selector).setAttribute(attrName, attrValue);
  }
  // возвращает значение атрибута
  return sel(selector).getAttrubute(attrName);
}

спасибо огромное, вот это уже функция)
хотя странно что в первоначальной функции setAttribute работал и без return, а тут нет)

devote 10.11.2014 20:10

Цитата:

Сообщение от Tecvid
в первоначальной функции setAttribute работал и без return, а тут нет)

ну можно убрать ретурны:
function attr(selector, attrName, attrValue) {
  if (arguments.length > 2) {
    if (attrValue === null) {
      // удаляет атрибут
      sel(selector).removeAttribute(attrName);
    } else {
      // задает значение атрибуту
      sel(selector).setAttribute(attrName, attrValue);
    }
  } else {
    // возвращает значение атрибута
    return sel(selector).getAttrubute(attrName);
  }
}

Tecvid 10.11.2014 20:39

Цитата:

Сообщение от devote
ну можно убрать ретурны:

когда их убираю не срабатывает) поэтому сказал что странно :)


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