7

なぜ機能しないのですか?余分な要素を追加せずにこれを回避する方法はありますか?

http://jsfiddle.net/86gb2/

4

2 に答える 2

13

あなたのフィドルでは、次の宣言はおそらくあなたが期待することをしていません。

select:after {content: "This doesn't work";}

これにより、実際には、選択ボックス自体の後ではなく、選択ボックスのコンテンツの後にテキストが追加されます。そのため、テキストはoptionマークアップの最後の後に追加されています。(もちろんこれは有効ではなく、ブラウザによってレンダリングされることもありません。)

つまり、このマークアップがある場合:

<a href="#">My link</a>

そしてこのCSS:

a:after {content: " has now been appended to";}

実際に起こっていることは次のとおりです。

<a href="#">My link has now been appended to</a>
于 2012-10-04T16:29:03.170 に答える
-3

そのようなことには jQuery API を使用することをお勧めします。

$(document).ready(function(){
    $("select").after("<div>this doesnt work, or does it?</div>");
});​
于 2012-10-04T14:09:19.257 に答える