- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:div で既存の <pre> を囲む方)
Greasemonkeyで<div>タグで既存の<pre>を囲む方法
このQ&Aのポイント
- Greasemonkeyを使用して、<pre>タグの表示/非表示を切り替えるスクリプトを作成しています。
- 参照したサイトに従い、<div>タグで<pre>タグを囲む方法を試していますが、うまく行っていません。
- 現在のgreasemonkeyコードに問題があり、目的の動作が実現できていないようです。助けが必要です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
targetObj は目的の HTMLElement オブジェクトなのでしょうが、 jQuery のオブジェクトではないため、children メソッドが http://js.studio-kingdom.com/jquery/traversing/children ではなく https://developer.mozilla.org/ja/docs/Web/API/ParentNode.children とみなされています 誤: targetObj = document.getElementById('TargetId'); 正: targetObj = $(document.getElementById('TargetId')); 正: targetObj = $('#TargetId');
お礼
range.surroundContents() にて本投稿で質問させていただいた部分は実現する事が出来ました。 最終的な機能を実装するには至っていませんが、先に進む事ができましたので本質問は以上とさせて頂きます。 ご回答有り難うございました。
補足
ご連絡有り難うございます。 わたしが JQuery の事を分かっておらず、使用するつもりの無かった JQuery を 使用したコードを参照していた様です。 Greasemonkey では通常は JQuery は使用できないようなので、javascript の DOM で 実現する方法がありましたら、ご教示いただけないでしょうか。 その後、以下のサイトを参照して、surroundContens で実現できないか試しています。 https://developer.mozilla.org/en-US/docs/Web/API/range.surroundContents 現在のコード =========== var range = document.createRange(); var newNode = document.createElement('div'); range.selectNode(document.getElementById('TargetId').item(0)); range.surroundContents(newNode); 宜しくお願い致します。