0

私は Greasemonkey スクリプトに取り組んでおり、おおよそ次のようなものがあります。

Javascript:

var togglingLink = document.createElement("a");
$(togglingLink)
    .attr('href', 'somelink')
    .html('<div>foo</div><div style="display:none">bar</div>');

$(togglingLink).children().toggle();
// Then I insert it into the page.

この HTML は次のようになります。

<a href="somelink">
    <div>foo</div>
    <div style="display:none">bar</div>
</a>

$().toggle() は非表示の div を表示するだけで、表示される div を非表示にするわけではありません。ここで何が欠けていますか?


James の jsfiddleは機能します。しかし、Greasemonkey スクリプトの同じコードが機能しません。

bobekの答えに従って、divをスパンに変更しようとしましたが、それで解決しませんでした。

4

2 に答える 2

2

私はついにこれを理解しました。$().toggle();要素をページに追加する前に、実際に実行していました。これが、jQuery が期待どおりにトグルしない原因でした。追加後$().toggle();に発生させたら、正常に機能しました。

于 2013-11-08T22:19:45.390 に答える