我需要一些幫助修復一些JavaScript,因爲我修改了我的magento安裝程序。Javascript腳本不再起作用
我可以看到爲什麼它不起作用,它正在尋找'a'的父元素,這是'li',但現在是我添加的Div的一個。我無法弄清楚的是我如何修復它。
這是腳本
Varien.Tabs = Class.create();
Varien.Tabs.prototype = {
initialize: function(selector) {
var self=this;
$$(selector+' a').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');
這裏是我的修改HTML:
<li id="product_tabs_<?php echo $_tab['alias'] ?>" class="<?php echo !$_index?' active first':(($_index==count($this->getTabs())-1)?' last':'')?>">
<div class="sidebar-block-2">
<div class="block-title">
<div class="title-corners-top"><div><div> </div></div></div>
<div class="title-border-left">
<div class="title-border-right">
<div class="title-border-top">
<a href="#"><strong><span><?php echo $_tab['title']?></span></strong></a>
</div>
</div>
</div>
<div class="clear"></div>
</div>
</div>
</li>
我從下到超鏈接添加。我想我需要使用類似.closest(「li」)的東西,但是我需要一些幫助才能使它起作用。
控制檯中是否有任何錯誤? – Mansfield
'$'是什麼?什麼是$$?如果不知道你正在使用什麼庫,很難提供幫助。 – jbabey
總是可以做一個循環(其中'this'是你的錨點)'curElement = this.parent; while(curElement.tagName!=「li」){curElement = curElement.parent;}' –