0

私はdokuwikiプラグインに取り組んでおり、jsが要素IDを格納する方法について興味深い考えを見つけました。何が起こっているのかわかりません...したがって、dokuwiki linkwiz.jsファイルから、':'文字がid文字列の一部にあるかどうかを判断するために使用しているコードがあります。

    dw_linkwiz.textArea = $editor[0];

//some code between

    // prepend colon inside namespaces for non namespace pages
    if(dw_linkwiz.textArea.form.id.value.indexOf(':') != -1 &&
       link.indexOf(':') == -1){
       link = ':' + link;
    }

$editorはjQueryオブジェクトです。要素のIDを取得するには、form.id.valueを使用しますが、jQuery .attrメソッドを使用して要素のidを動的に設定すると、form.id.valueが未定義になり、ID文字列が単純に保持される場合があります。 form.idで。なぜそれが起こるのか知っていますか?より標準的なコンパイラはどれですか?

4

2 に答える 2

0

通常、DOM 要素 ID はオブジェクトではなく文字列にform.idなるため、値を持つ文字列になりidます。値を持つオブジェクトであってはなりません。このプラグインは、値プロパティを含む id プロパティを持つ別のオブジェクトを定義している可能性がありますが、それは標準の DOM 要素ではありません。

于 2013-03-07T16:29:10.710 に答える