別のdivのリンクをクリックしたときに、jqueryを使用してフレーム内のコンテンツを表示/非表示にするWordPressサイトを引き継ぎました。これは、IE7を除くすべてのブラウザーで完全に機能します。IE7では、何も起こりません。何もありません。そして、それはエラーをスローしません。これが私が使っているコードです
HTML:
<div id="campaignCards" class="contentBody">
<?php $args = array(
'post_type' => 'home_promos',
'posts_per_page' => 8,
'order' =>'ASC' );
$postcount = 0;
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<a class="slideLink" href="<?php if(get_post_meta($post->ID,
'mcb2b_home_promos_link', true)) { echo get_post_meta($post->ID,
'mcb2b_home_promos_link', true); } ?>">
<div class="campaign_card" id="card<?php echo $postcount; ?>">
<?php the_content();?>
</div>
</a>
<? $postcount++; endwhile; ?>
</div>
<div id="homebuttons">
<ul>
<?php $args = array(
'post_type' => 'home_promos',
'posts_per_page' => 8,
'order' =>'ASC' );
$postcount = 0;
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<li class="campaignPicker">
<a href="javascript:showonlyone('card<?php echo $postcount; ?>');">
<?php if (has_post_thumbnail()) {the_post_thumbnail();} ?>
</a>
</li>
<?php $postcount++; endwhile; ?>
</ul>
</div>
JS
function showonlyone(thechosenone) {
var campaign_card = document.getElementsByTagName("div");
for(var x=0; x<campaign_card.length; x++) {
name = campaign_card[x].getAttribute("class");
if (name == 'campaign_card') {
if (campaign_card[x].id == thechosenone) {
campaign_card[x].style.display = 'block';
}
else {
campaign_card[x].style.display = 'none';
}
}
}
}
問題はあると思いますがvar campaign_card = document.getElementsByTagName("div");
、IEでデバッグするためのjqueryに習熟していません。どんな助けでも大歓迎です。
ありがとう