次のコードを見てください。
<
最初のリンクには、html特殊文字とそれに続く「!」を含むtitle属性があります。(実際にどの文字が続くかは関係ありません)。jQueryのattr()関数を使用してそのtitle属性の値を取得すると、htmlが壊れます(次のテキストも欠落している限り、「<」文字が出力されないことがわかります。
2番目のリンクでの唯一の違いは、後にスペースを追加した<
ことです。これで、期待どおりに機能します。
それはjQueryのバグだと思いますか、それとも私は何かを理解していませんか?
PS。私が何か奇妙なことをしていると思うなら、それはツールチッププラグインからのコードの一部にすぎません。
HTML:
<a href="#" title="<div style='color:red'>This is the less than sign: <! Now you know it?</div>">This is a link</a><br>
<a href="#" title="<div style='color:red'>This is the less than sign: < ! Now you know it?</div>">This is a link</a><br>
jQuery:
$('a').each(function() {
$('body').append($(this).attr('title')); });
// just to exclude that it's append() function's fault :)
$('body').append("<div style='color:red'>This is the less than sign: <! Now you know it?</div>");