Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.06.2012, 16:34
Интересующийся
Отправить личное сообщение для shifteee Посмотреть профиль Найти все сообщения от shifteee
 
Регистрация: 01.06.2012
Сообщений: 13

Доступ к свойствам объекта
Добрый день!

Не знаю туда ли я пишу, но...

Имеется код:

$(document).ready(function(){
    $(".active_letter").bind('click', {data:countries} ,function(e){
        var el = $(e.target).parents($("ul"));
        var letter = $(e.target).text();
        var links = countries[letter];
            console.log(letter, typeof(letter), links); //А(кириллица, UTF-8), string, undefined
        $(el).append("<li></li>");
        
    });
});


Подскажите почему при var links = countries["А"]; присваевается нужное значение, а при var links = countries[letter]; выводится undefined.

П.С. Если очень важно, то объект countries представляет из себя:

var countries = { А : [valA1, valA2, ...], Б: [valБ1, valБ2, ...], ...}
Ответить с цитированием
  #2 (permalink)  
Старый 01.06.2012, 16:40
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Значит, как подсказывает К.О., letter != "А". Там, например, пробелы могли затесаться.
Ответить с цитированием
  #3 (permalink)  
Старый 01.06.2012, 16:41
Интересующийся
Отправить личное сообщение для shifteee Посмотреть профиль Найти все сообщения от shifteee
 
Регистрация: 01.06.2012
Сообщений: 13

console.log(letter, typeof(letter), links); //А(кириллица, UTF-8), string, undefined - эта строчка говорит, что на этот раз КО ошибается
Ответить с цитированием
  #4 (permalink)  
Старый 01.06.2012, 16:42
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

shifteee, нет, не говорит.
Вот если бы alert( letter == "А" ) выдавало true, то такая строчка говорила бы.

И вообще, дайте ссылку на страницу. Мало ли что там может твориться.
Ответить с цитированием
  #5 (permalink)  
Старый 01.06.2012, 16:50
Интересующийся
Отправить личное сообщение для shifteee Посмотреть профиль Найти все сообщения от shifteee
 
Регистрация: 01.06.2012
Сообщений: 13

Действительно false. А есть ли тут функция, аналогичная trim()?
Ответить с цитированием
  #6 (permalink)  
Старый 01.06.2012, 16:53
Профессор
Отправить личное сообщение для tadjik1 Посмотреть профиль Найти все сообщения от tadjik1
 
Регистрация: 07.06.2011
Сообщений: 315

ну трим и есть.
а есть еще e.target.innerText
Ответить с цитированием
  #7 (permalink)  
Старый 01.06.2012, 16:58
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Свойство innerText не очень кроссбраузерное. ЕМНИП, в Firefox оно называется textContent.
Ответить с цитированием
  #8 (permalink)  
Старый 01.06.2012, 17:27
Интересующийся
Отправить личное сообщение для shifteee Посмотреть профиль Найти все сообщения от shifteee
 
Регистрация: 01.06.2012
Сообщений: 13

У меня оно действительно А, но перед А куча каких-то пробелов
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка доступа к перечисляемым свойствам объекта в массиве for in Sundro Общие вопросы Javascript 7 08.01.2012 19:31
Доступ к свойству объекта. Dimentr Общие вопросы Javascript 2 26.12.2011 16:23
доступ к свойствам parent обьекта avaVusal ExtJS 2 11.04.2011 14:40
Объект как свойство объекта Cooskon Общие вопросы Javascript 6 16.02.2010 21:41
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00