Кто-нибудь может популярно объяснить сакральное различие этих двух функций?
function chgSpan1(id) {
editable = document.getElementById(id)
currentState = editable.isContentEditable; // Узнаём текущее значение.
newState = !currentState; // Переменная нового значения.
editable.contentEditable = newState; // Устанавливаем новое значение.
}
function chgSpan2(id) {
currentState = id.isContentEditable; // Узнаём текущее значение.
newState = !currentState; // Переменная нового значения.
id.contentEditable = newState; // Устанавливаем новое значение.
}
Одна из них где-то не работает.
Глупость сказал.
Первая принимает на вход строку, вторая элэмэнт.
Кто-нибудь может популярно объяснить сакральное различие этих двух функций?
function chgSpan1(id) {
editable = document.getElementById(id)
currentState = editable.isContentEditable; // Узнаём текущее значение.
newState = !currentState; // Переменная нового значения.
editable.contentEditable = newState; // Устанавливаем новое значение.
}
function chgSpan2(id) {
currentState = id.isContentEditable; // Узнаём текущее значение.
newState = !currentState; // Переменная нового значения.
id.contentEditable = newState; // Устанавливаем новое значение.
}
Помимо того, что первая требует параметр обязательно в кавычках, а вторая обязательно без оных...
Не должно быть других различий.
А зачем так сделано? У них разные отклики на отсутствие присутствия принятого?
Блин, тема раздвоилась...
Не думаю. Мне это кажется с точностью до изоморфизма одним и тем же.
chgSpan1(id) = chgSpan2(document.getElementById(id))
А я уж думал, ты удалил моё сообщение. :'( Чуть не обиделся.
Этшнеблох!
Цитата: arseniiv от chgSpan1(id) = chgSpan2(document.getElementById(id))
Правая часть нерабочая.
Вот и я удивлялся. Выдумал, что ты модератора попросил!
Скорее всего, я не JS-кодер.
Цитата: Bhudh от декабря 14, 2011, 18:03
Цитата: arseniiv от chgSpan1(id) = chgSpan2(document.getElementById(id))
Правая часть нерабочая.
А она и должна быть нерабочая, потому что тут = не в яваскриптовом смысле. :P
Арсений имел в виду, что chgSpan1(id) и chgSpan2(document.getElementById(id)) идентичны.
То есть выполняется равенство
chgSpan1(id) == chgSpan2(document.getElementById(id))для любых id.
Ой, я как-то забыл про присваивание. :-[
Про него все забывают. Авторы С специально такой символ для присваивания выбрали, чтобы все потом путались.
Цитата: Demetrius от А она и должна быть нерабочая, потому что тут = не в яваскриптовом смысле.
А я и не имел в виду в яваскриптовом смысле.
Я имел в виду, что кавыки забыли.
Рабочий вариант:
- chgSpan2(document.getElementById('id'))
Я привык, но забыл...
Цитата: Bhudh от декабря 14, 2011, 22:12
Рабочий вариант:
Я понимал как переменную. Переменная строковая бывает. И это именно я почти не спал ночь. :-\
Или я модератором стал? ;)
Не вижу. :)
А mystʼа видел?
Яндыкс выдал:
Цитата: Строковая переменная содержит текст в кодировке Unicode длиной до 231 (более 2 миллиардов!) символов.
;D
Маловато будет.
Какого?
:o Админа!
Я помню только двух.
:what:
ginkgo и yuditsky.
Цитата: Bhudh от декабря 14, 2011, 22:12
Я имел в виду, что кавыки забыли.
Рабочий вариант:- chgSpan2(document.getElementById('id'))
Кавычки не забыли.
- Если в кавычках, то id—идентификатор, что тупо. Кто будет писать <element id="id" />?
- Если без кавычек, то id—переменная, хранящая идентификатор, что гораздо логичнее.
Ой, arseniiv уже написал.
Цитата: Bhudh от декабря 14, 2011, 22:30
длиной до 231 (более 2 миллиардов!) символов
Что такое «231»?
Цитата: Demetrius от - Если без кавычек, то id—переменная, хранящая идентификатор, что гораздо логичнее.
:donno: Не знаю, у меня хранящую переменную не брал почему-то...
Надо ещё разок проверить... Может, я ему не то давал?‥ :-\
Цитата: Тайльнемер от Что такое «231»?
2
31
Они ж глобалы...
Ха-ха! Я тебя довёл, ты сказал неправду про ginkgo!
А ginkgo не была глобалом? Я не помню чего-й-то...
«Белый снег, белый мел, // белый заяц тоже бел, // а вот белка не бела, // белой даже не была.»
Если NaN не равно себе, не больше себя и не меньше себя, чему равно Not(NaN)?
А щщего ты взял, что это прмиенимо к NaN? А Not(2) чему равно?
user=> (Math/sqrt -1)
NaN
user=> (not (Math/sqrt -1))
false
user=>
Хе-хе...
Жаба скрипит:
0/0 = NaN
not(0/0) = true
Цитата: arseniiv от А Not(2) чему равно?
false
Прикольно. Если внутрь элемента с contenteditable='true' поместить другой элемент с contenteditable='true', второй становится нередактируемым.
А если внутрь второго поместить третий подобный же, он является редактируемым!
Но есть один нюанс: если с того элемента (первого или третьего), который поддаётся редактированию, передвинуть стрелками или deleteʼми курсор на неподдающийся, он поддастся!
Видимо, булево значение вычисляется как результат значений вложенных элементов...