私はHTMLの塊を持っています。どうすればjQueryを使用して、BLOB内のすべてのアンカータグからclass
属性を削除し、結果のHTMLを返すことができますか?jQueryでHTMLの塊から属性を削除する
動作するはずです、私はこのように感じるが、それはしていません:
$(blob).filter('a').removeAttr('class').end().html()
(これは空の文字列を返します)
ボーナスポイントを私の解決策が間違っている理由を説明します。
私はHTMLの塊を持っています。どうすればjQueryを使用して、BLOB内のすべてのアンカータグからclass
属性を削除し、結果のHTMLを返すことができますか?jQueryでHTMLの塊から属性を削除する
動作するはずです、私はこのように感じるが、それはしていません:
$(blob).filter('a').removeAttr('class').end().html()
(これは空の文字列を返します)
ボーナスポイントを私の解決策が間違っている理由を説明します。
あなたはこれをしたい:
$('<div></div>').append(blob).find('a').removeAttr('class').end().html()
.filter()
は、選択した要素を取り、<a>
タグはありませんそのすべてのそれらを削除します。 .find()
はツリー全体に行き渡り、内部にすべてのアンカータグを見つける。
これはうまくいかない - blobが何か「alkdfjs」であると仮定します。あなたの答えは "alkdfjs" –
ああを出力します。私は「ブロブ」が何であるか誤解した。私はそれに応じて編集します。 – VoteyDisciple
ありがとう! (上記のBLOBの定義から明らかなように、私はこの出力を探しています: 'something alkdfjs') –
Note ... Voteyが回答で取り組んだように、html()はセレクタが何であれ* inner HTMLを返します。選択した要素自体のhtmlが必要な場合は、ラップする必要がありますそれはdivのようなものか、Voteyのようなものです。 –