Функция jQuery не работает для IE9 - PullRequest
0 голосов
/ 27 марта 2012

У меня есть эта часть функции:

$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'); 
        }); 

Есть ли какая-то причина, почему это не будет работать с Internet Explorer 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>

Извините, я думаю, это было мое разочарование по поводу этой "вещи"

Спасибо

1 Ответ

1 голос
/ 27 марта 2012

http://api.jquery.com/jQuery.noConflict/

Убедитесь, что это определено заранее.$ jQ не имеет значения в указанном вами коде.

$jQ = jQuery.noConflict();

Возможно, отсутствует.Это должно быть определено до вызова псевдонима.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...