つまり、DIV を表示するための Javascript 関数を含む HREF メニューを作成しようとしています。ただし、私の懸念は、1 つは Javascript が有効な場合、もう 1 つは Javascript が有効でない場合の 2 つの別個の DIV を持つことができる一方で、自分のページに未加工のコンテンツを複製したくないことです (スパイダーは Display: none html をインデックス化するため)。
JavaScript の機能やベスト プラクティスに詳しくありません。私の本能は、javascript が存在する場合、特定の id スタイル タグの DIV を文字列で置き換えることです..
つまり、javascript が有効になっている場合、スタイル タグのテキストを display=none に置き換えるロジック (特定の ID の場合)
また、javascript で非特異的にする方法はありますか。contentid1、contentid2、contentid3、contentid4、contentid5、contentid6がある場合など、正規表現またはcontentid 2-6と同等のものを使用できます
contentid が変更される複数のページでこれを使用します。そのスタイルが複数の ID に適用される方法がわからないため、javascript 条件付きスタイルを作成する必要があるかどうかわかりません (こちらを参照) Javascript が使用可能な場合にのみ html を非表示にする
Heres私の現在のコード
<script type="text/javascript">
function showHide(d)
{
var onediv = document.getElementById(d);
var divs=['content1','content2','content3','content4'];
for (var i=0;i<divs.length;i++)
{
if (onediv != document.getElementById(divs[i]))
{
document.getElementById(divs[i]).style.display='none';
}
}
onediv.style.display = 'block';
}
</script>
それでは私のメニューです
<ul>
<li><a href="javascript:showHide('content1');">link1</a></li>
<li><a href="javascript:showHide('content2');">link2</a></li>
<li><a href="javascript:showHide('content3');">link3</a></li>
<li><a href="javascript:showHide('content4');">link4</a></li>
</ul>
次に、ここに私のコンテンツがあります(注、デフォルトでcontent1 divを表示したままにします
<div id="content1" >Content</div>
<div id="content2" style="display: none;">Stuff</div>
<div id="content3" style="display: none;">Things</div>`
できればちらつきを避け、できればページの更新を避けたいです。content2+ の inlinestyle が hidden に変更されるような条件が存在する可能性があります。JavaScript を使用しないと、ページが非常に長くなります。?
ごめんなさい-とりとめのない。疲れて、肺炎になった:)