問題タブ [dom-manipulation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - jQuery empty() と remove()
empty()
のとremove()
メソッドの違いは何ですかjQuery
。これらのメソッドのいずれかを呼び出すと、作成中のオブジェクトは破棄され、メモリが解放されますか?
jquery - 選択した要素の前にある要素を削除します
フォームのエラー処理/操作を行っていますが、検証中の入力の前にあるエラーdivを削除する必要があります...
HTML:
入力フィールドが検証されたら、div.textErrorを削除したいと思います。私はこれを試しました...
$(this).before('<div class="textError"></div>').remove('<div class="textError"></div>');
サイコロはありません。どんな助けでも大歓迎です
javascript - クリックイベントが正しくないのにjqueryajaxメソッドが繰り返されている
クリックイベントを介してトリガーされるajaxがWebページにあります。問題のJavaScriptは次のようになります。
ajaxリクエストのこの部分は正常に機能します。成功すると、別のビューを自分のページにロードします。このビューには、さらにajaxを起動するユーザー操作がありますが、以前に使用したメソッドを起動するだけです。
HTML + PHPは次のようになります、
.selectitemsは、このプラグインを使用して選択メニューから作成されます。
2番目のajaxリクエストが最初のajaxリクエストのメソッドを実行している理由を確認するのに苦労しています。
jquery - このdivがjQueryにクラスを追加しないのはなぜですか?
$.get
dbを呼び出すと、HTML()が返されますdata
。
返されるHTMLは次のようなものです。
私のコールバック関数では、次のようにクラスを追加しようとしています(テストしたいくつかの条件に基づいて正常に到達しています)。
trueの場合でもsomeCondition
、私のHTMLにはmynewclass[someId]
クラスが追加されていません。これが私が愚かに見落としているという理由があるのでしょうか?
ありがとう... :\
編集
再現可能な例へのリンクは次のとおりです。それ自体が正確に行っていることではありません(データを取得するために外部の変数を使用していませんが、同じ効果を再現しています)。テストで「false」がどのように表示されているかに注目してください。
dom - FirebugがDOMを操作するのを防ぐ
のようなプログラムがページのDOMを操作するのを防ぐ方法はありますか?Firebug
他社が支払っている広告のようなものは簡単に削除できることに気づきました。
ページがそれを停止する方法はありますか?
javascript - タグを変更しますが、属性とコンテンツは保持します--jQuery / Javascript
に変更されました
私はjQueryに精通しreplaceWith
ていますが、それは私が知る限り属性/コンテンツを保持しません。
注:なぜpにはhref
?Cuz私は別のイベントにp
戻る必要があります。a
jquery - 隠されたdivの操作
わかり<div1>
ました。静的コンテンツを含む要素がいくつかあります。次に、カーソルを合わせると、その上に<div1>
別の<div2>
ポップアップが表示されます。(注:これがどのように発生するかは、「display」プロパティが「none」から「block」に変わることです)これ<div2>
には、に関連するデータがあります<div1>
。それはあなたが上に置いたものに基づいて動的に移入<div1>
します。
これらの<div>
要素を操作するためのアクセス権がありません。私がやろうとしているのは、この特定のデータがこの<div2>
ように操作するよりも入力されているかどうかを示すJQueryスクリプトを作成することです。
誰かがこれを手伝ってくれませんか?よろしくお願いします。ありがとう!
ご不明な点がございましたら、お気軽にお問い合わせください。
編集済み:わかりました。これが私が持っているものです... <div id="model-rotator-form">
「li」にカーソルを合わせるまで非表示のままになるdivで、動的コンテンツで表示されます。
この中<div>
には、車両名を保持するH2要素、2つのリンク画像を保持するUL要素、および変更しようとしていない他の要素が含まれています。
H2要素は<h2 class="model-name">Vehicle Name</h2>
であり、UL要素はです<ul class="link-btn"><li><a class="linkBtn" href="Model.aspx?d=711" id="model-rotator-link-1">Research</a></li><li><a class="linkBtn" href="/Dallas/For-Sale/New/Volkswagen/Jetta SportWagen/" id="model-rotator-link-2">Inventory</a></li></ul>
私のコードは今は機能しません...これは単なる参照ポイントです...
$('#model-rotator-form *');
if($('$h2.model-name').length() >= 25){
$('ul.link-btn').css('margin-top','-20px');
}
私に何ができるか教えてください。繰り返しますが...このコードがお役に立てば幸いです。
javascript - .detach-ed オブジェクトはどこに行くのですか?
私はこのようなものを持っています:
//html
//JavaScript (jQuery)
だから、ここで私は'.tools'
切り離してから'.panel'
、ボタンを取って別の場所に追加しました。しかし、'.tools'
ノードはどうですか?ガベージコレクションされていますか?detached を保存し'.tools'
、そこからボタンを取得してから破棄する必要がありますか?
その問題-html部分がAJAXリクエストを介して受信され、このすべてのコードがsuccess
ハンドラー内にある場合。
javascript - 親がホストするスクリプトを呼び出さずに、子ページの親のサイズを変更しますか?
現在、サーバーがホストするページとクライアントがホストするページの 2 つの HTML ページが同じドメインにあります。
サーバー ページには、クライアント ページをソースとする iframe があります。
子ページのコンテンツに基づいて親ページの iframe のサイズを変更したい。これを実現するために、両方のページに少しの JavaScript を配置しています。クライアント(子)ページはそのサイズを決定し、iframeのサイズを変更する親ページで定義された関数を呼び出します(これを達成するために、この同じスクリプトを親ページにのみ配置することは非常に可能です...)。
親スクリプトを呼び出さずに、クライアント ページが親の iframe のサイズを直接変更することは可能ですか?
私たちはクライアント ページの所有者であるため、このコードを子ページに分離できれば、コードを変更する手間が大幅に軽減されます。
jquery - FORM要素を別のものに変更するか、すべての子要素を保持したまま削除します
Asp.net MVC を SharePoint サイトに統合しました。それはうまくいきます。ただし、デフォルトのSharepointマスターページも使用しています(~masterurl/default.master
つまり)。form
問題は、すべての Sharepoint ページが通常の Asp.net WebForm ページであるのに対し、この特定のマスター ページではページ全体が要素にラップされていることです。
私の MVC コンテンツには、サーバーに送信する独自のform
入力要素が必要です。Ajax 呼び出しは明らかにそれほど問題ではありません。元の要素$("form").serializeArray()
を保持していると使用できません。form
ただし、送信イベントには Web フォーム機能があり、サーバーに送信されるデータが多すぎるため、通常のポストバックには問題があります。
通常のポストバックと Ajax ポストバックを使用します。主な問題は通常のポストバックです。
したがって、両方を実行する必要がある2つの可能性があります$(document).ready()
:
- フォーム要素を削除し、他のすべてのコンテンツをそのまま保持します。jQuery では、
form
要素の先頭に を追加しdiv
、そのコンテンツをこの div に移動してから削除することを意味する可能性がありform
ます。 form
要素を に直接変更しdiv
ます。これはおそらくブラウザ処理の面でより高速になるでしょうが、私はそれを行う方法がわかりません.
したがって、誰かが2.の解決策を詳しく説明し、これら2つの可能な解決策についていくつかの情報を提供できる場合: どちらを実行する必要があり、その理由.
編集
第三の可能性もあります。必要に応じて入力要素を作成するだけで、それらをdiv
要素内に含めることができます。ユーザーがフォームを送信したい場合(フォームdiv
ではありません)、次のことができます。
- 動的に呼び出す
$("div.form").serializeArray()
- フォーム要素を作成する
- シリアル化された値を入力します
- フォームを本文に追加
- それを提出します。
面倒に思えますが、うまくいく可能性があります。それでも最初の 2 つの解決策はより単純に見えます。