0

要素から「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()

atm次のように変数を「ハードコード」した場合にのみ機能します。

start_cursor = editor.getCursor()

「editor」は次のように事前定義されています (Codemirror):

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

ulから文字列名を取得して動的に作りたいです。

あなたの時間と知恵に感謝します

4

3 に答える 3

1

文字列からJavaScriptで定義されたものに切り替えるには、試してください

objectTheVarIsDefinedIn[nameOfVariable]

この場合、どのオブジェクト/スコープ/関数を使用したかわかりません。一般的なスコープは次のようになると思います

window[messa].getCursor();

または、関数を使用していて、まだ同じレベルにいる可能性があります。

this[messa].getCursor();
于 2011-12-17T21:27:59.103 に答える
0

messaこの場合は文字列です。文字列に対して getCursor() を呼び出すことはできません。

ただし、editorこの場合は window オブジェクトのプロパティになっているため、次のようにすることができます。

window[messa].getCursor();
于 2011-12-17T21:30:10.680 に答える
0

名前が同じだからといって、名前がないからといって、同じものになるわけではありません。あなたの論理では、何かドキュメントに名前を付けることができ、それはドキュメントになります。

var mydoc = "document";
mydoc.location; //won't work because mydoc is just a string, it isn't the document object.
于 2011-12-17T21:22:29.810 に答える