javascript / jquery, почему взятая строка не хранится как переменная? - PullRequest
0 голосов
/ 18 декабря 2011

Я пытаюсь получить атрибут name из элемента и использовать эту строку для вызова уже существующей переменной.

это html (li - цель функции) :::

<ul name="editor">
    <li><a href="#">Politics</a></li>
    <li><a href="#">Finance</a></li>
</ul>

получить имя и использовать его в функции "getCursor" ::: ЭТО НЕ РАБОТАЕТ, ПОЧЕМУ

var messa = $(item).parent().attr("name"); //getting name which is "editor"
start_cursor = messa.getCursor()

атм работает только если я "hardcode" переменная, подобная этой:

start_cursor = editor.getCursor()

"редактор" предопределен следующим образом (Codemirror):

var editor = CodeMirror.fromTextArea(document.getElementById("code"), 
{mode: "javascript"});

Я хочу сделать это динамически, получая имя строки от ul.

спасибо за ваше время и мудрость

Ответы [ 3 ]

1 голос
/ 18 декабря 2011

Чтобы переключиться со строки на что-то определенное в javascript, попробуйте

objectTheVarIsDefinedIn[nameOfVariable]

В этом случае я не уверен, какой объект / область / функцию вы использовали, я предполагаю общую область, которая будет

window[messa].getCursor();

или, может быть, вы использовали функцию, и вы все еще на том же уровне:

this[messa].getCursor();
0 голосов
/ 18 декабря 2011

messa в данном случае является строкой. Вы не можете вызвать getCursor () для строки.

однако, editor в этом случае теперь является свойством объекта окна, поэтому вы можете сделать это:

window[messa].getCursor();
0 голосов
/ 18 декабря 2011

То, что что-то с таким же именем не имеет названия, не делает его тем же самым. По вашей логике я мог бы назвать что-то документ, и это будет документ.

var mydoc = "document";
mydoc.location; //won't work because mydoc is just a string, it isn't the document object.
...