1

Ubuntu Jaunty Jackalope 上の Firefox 3.5 が HTML をどのようにレンダリングするかについて、私の所見の一部を共有したいと思います。

JSP ページに次のエントリがあります。

<a title="myLink" href="[some url]">link 1</a>
<a title="myLink" href="[some url]">link 2</a>
<a title="myLink" href="[some url]">link 3</a>

<a title="myLink"  class="hiddenLink"  href="[some url]">link 4</a>
<a title="myLink"  class="hiddenLink"  href="[some url]">link 5</a>
<a title="myLink"  class="hiddenLink"  href="[some url]">link 6</a>

<button>more links</button>

上記のリンクは、Firefox では次のように表示されます。

リンク 4 からリンク 6 は非表示になっています。

リンク 1 リンク 2 リンク 3

jQuery を使用して、「その他のリンク ボタン」に JavaScript を添付します。

$("a[href ^='myLink']:hidden").show();

ページにリンク 4 から 6 を表示します。これは、「その他のリンク」ボタンをクリックした場合に、Firefox がリンクをレンダリングする方法です。

リンク 1リンク 2 リンク 3
リンク 4
リンク 5
リンク 6

4

2 に答える 2

2

おそらく、呼び出し時に jQuery が表示スタイル プロパティを display="inline" ではなく、display="block" に設定しているためですshow()。これを試して:

$("a[href ^='myLink']:hidden").css('display', 'inline');

また:

$("a[href ^='myLink']:hidden").removeClass();
于 2009-09-05T23:20:10.803 に答える
0

これ.show()は、それらをブロックに変換するためです。

この関数は、一致する要素が非表示のときにページ上に表示します。実際に表示スタイルを「ブロック」に変更します。これにより、要素の前後に改行が挿入されるため、ページのレイアウトに問題が生じる可能性がありますが、通常の使用では問題ありません。より柔軟に使用するには、.addClass()および.removeClass()関数を参照してください。

に置き換えることをお勧め.show().removeClass('hiddenLink')ます。

それとも、その「hiddenLink」はリンクを非表示にするだけでなく、表示されたときに他のリンクとは異なって見えるようにしたいですか?

于 2009-09-05T23:22:42.347 に答える