のために働いていない私は、関数のこの部分を持っている:jQueryの機能がIE9
$jQ('.product-collateral .product-tabs li').each(function(index){
$jQ(this).attr('id', $jQ(this).find('h3').attr('class'));
if(index === 0)
$jQ(this).addClass('active');
});
は、このインターネットエクスプローラー9で動作しませんなぜ何らかの理由はありますか?
今のところ私はそれを理解しようとしていて、何のことも考えていないかなりの時間を費やしました。
事前にアドバイスをいただきありがとうございます。
ドム
- 申し訳ありませんが、これは、HTML
<div class="product-collateral">
<div class="tab">
<h3 class="product_tabs_agenda">Tab 1</h3>
</div>
<div class="product-tabs-content" id="product_tabs_agenda_contents">
<p>Tab1 Content</p>
</div>
<div class="tab">
<h3 class="product_tabs_terms">Terms and Conditions</h3>
</div>
<div class="product-tabs-content" id="product_tabs_terms_contents">
<p>Some terms and conditions</p>
</div>
</div>
であり、これは完全なJavaの機能です。
< script type = "text/javascript" > $jQ('.product-collateral .tab h3').wrapAll('<ul class="product-tabs"></ul>').wrap('<li></li>');
$jQ('.product-collateral .product-tabs li').each(function(index) {
$jQ(this).attr('id', $jQ(this).find('h3').attr('class'));
if (index == 0) $jQ(this).addClass('active');
});
//<![CDATA[
Varien.Tabs = Class.create();
Varien.Tabs.prototype = {
initialize: function(selector) {
var self = this;
$$(selector + ' h3').each(this.initTab.bind(this));
},
initTab: function(el) {
el.href = 'javascript:void(0)';
if ($(el.parentNode).hasClassName('active')) {
this.showContent(el);
}
el.observe('click', this.showContent.bind(this, el));
},
showContent: function(a) {
var li = $(a.parentNode),
ul = $(li.parentNode);
ul.select('li', 'ol').each(function(el) {
var contents = $(el.id + '_contents');
if (el == li) {
el.addClassName('active');
contents.show();
} else {
el.removeClassName('active');
contents.hide();
}
});
}
}
new Varien.Tabs('.product-tabs');
//]]>
< /script>
申し訳ありませんが、私はそれがこのことについての私の欲求不満だったと思う "もの"
は、これは事前に定義されていることを確認します
これは他のブラウザでも動作しますか? –
「うまくいかない」とはどういう意味ですか?エラー?予期しない動作?コードのどの部分がうまくいかないの? – JJJ
もっとコードを入力してください。問題のHTMLのように、具体的に何が動作していないのですか? – Timmerz