を付加したので、私はこれを行うされていません。HTML文字列は、私はHTMLを追加する前に、私は私がそれに変更を加えたい、HTML</p> <pre><code>var myhtml = "<div><a>DEMO</a></div>"; </code></pre> <p>の文字列を含む変数を持つ
ただし、何も追加されず、コンソールエラーも表示されません。 HTMLを変更しても、それを通常どおりに追加するにはどうすればよいですか?
を付加したので、私はこれを行うされていません。HTML文字列は、私はHTMLを追加する前に、私は私がそれに変更を加えたい、HTML</p> <pre><code>var myhtml = "<div><a>DEMO</a></div>"; </code></pre> <p>の文字列を含む変数を持つ
ただし、何も追加されず、コンソールエラーも表示されません。 HTMLを変更しても、それを通常どおりに追加するにはどうすればよいですか?
考慮に入れるべき二つのものがあります:
filter
は、それが呼び出されたjQueryオブジェクトを変更します。あなたの場合、それはa
を保持し、親div
を削除します。代わりにfind
を使用してください。 find
は元のものを変更せずに新しいjQueryオブジェクトを返します。find
新しいa
のみを含むjQueryオブジェクトを返します。親を保持する場合は、最初のjQueryオブジェクトを挿入する必要があります。div
var myhtml = "<div><a>DEMO</a></div>";
// Parse the string into a jquery object.
var $myhtml = $(myhtml);
// Add the "testing" class to the `a` child(ren).
$myhtml.find("a").addClass("testing");
// Add a class to the root of $myhtml (i.e. the `div`) if needed.
$myhtml.addClass("div-class");
// Append the jquery object.
$("body").append($myhtml);
.testing {
background-color: yellow;
}
.div-class {
padding: 5px;
border-style: solid;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
のdivで、)=
var myhtml = "<div><a>DEMO</a></div>";
$("body").append($(myhtml).find('a').addClass("testing"))
[OK]をお楽しみください:
var myhtml = "<div><a>DEMO</a></div>";
var $div = $(myhtml);
$div.find('a').addClass("testing");
$("body").append($div);
幸運!
このコードは 'a'だけを追加します。 'div'が削除されます。 –
または単にクラステストを "a"に追加し、body全体をdivに追加したいですか? –
私はfindを使用しようとしましたが、返されるのは「a」だけですが、残りのHTMLは返されません – guub
ありがとうございました。複数の変更をどうやって行うのですか?たとえば、div要素にクラスを追加するにはどうすればよいですか? – guub
'div'要素はjQueryオブジェクトのルートですので、' $ myhtml'に 'addClass'を使うだけです。 –
私の編集を見てください。 –