id=section-name 内のテキストに基づいて、異なるバナー画像を必要とするさまざまなページがあります。Javascript または jQuery を使用して、ページが使用しているセクション名を確認し、CSS クラスをバナー コンテナー ID に追加したいと考えています。
これは SharePoint 2010 サイト用で、マスター ページに追加されます。
各aspx
ページには次の<div>
タグが表示され、セクション名が動的にページに書き込まれます。
<div id="section-name">*Section name goes here*</div>
例えば:<div id="section-name">Toll Stadium</div>
次に<div id="banner-container"></div>
、ページのさらに下にタグを付けます。
私がする必要があるのは<div id="banner-container"></div>
、セクション名に基づいてクラスを追加することです。
例えば:
- section-name が Toll Stadium と等しい場合は、class banner-toll - を追加し
<div id="banner-container" class="banner-toll"></div>
ます。また - section-name が Whats On と等しい場合は、class banner-whatson - を追加し
<div id="banner-container" class="banner-whatson"></div>
ます。また - section-name が Christmas Festival の場合、クラス banner-xmas を追加します -
<div id="banner-container" class="banner-xmas"></div>
- などなど
javascriptやjqueryの書き方が全くわかりません。ただし、他の場所でいくつかのコードを見つけました。これまでのところ、次のコードがあります。唯一の問題は、すべてのページでケース 0 クラス (banner-xmas) が使用されていることです。
$(function() {
$('.container')
.find('#banner-container').each(function(i) {
switch(i) {
case 0:
$(this).addClass('banner-xmas');
break;
case 1:
$(this).addClass('banner-whatson');
break;
case 2:
$(this).addClass('banner-toll');
break;
case 3:
$(this).addClass('banner-forum');
break;
case 4:
$(this).addClass('banner-esf');
break;
case 5:
$(this).addClass('banner-xmas');
break;
case 6:
$(this).addClass('banner-plan');
break;
case 7:
$(this).addClass('banner-contact');
break;
}
});
私も次のことを試しましたが、これもうまくいきませんでした:
var objSectionElement = document.getElementById('section-name')
if (objSectionElement != undefined) {
var objSection = objSectionElement.innerHTML.trim();
var objBody = document.body;
if (objSection != undefined && objBody != undefined) {
if (objSection.startsWith('Default')) {
objBody.className = objBody.className + " .banner-general";
}
else if (objSection.startsWith('What')) {
objBody.className = objBody.className + " .banner-whatson";
}
else if (objSection.startsWith('Toll')) {
objBody.className = objBody.className + " .banner-toll";
}
else if (objSection.startsWith('Forum')) {
objBody.className = objBody.className + " .banner-forum";
}
else if (objSection.startsWith('Endless')) {
objBody.className = objBody.className + " .banner-esf";
}
else if (objSection.startsWith('Christmas')) {
objBody.className = objBody.className + " .banner-xmas";
}
else if (objSection.startsWith('Plan')) {
objBody.className = objBody.className + " .banner-plan";
}
else if (objSection.startsWith('Contact')) {
objBody.className = objBody.className + " .banner-contact";
}
}
なにか提案を?