javascript - 无法读取 null 的属性 'removeClass'

标签 javascript jquery tabs

我尝试使用 Sourcerer 插件在 joomla 中使用 jquery 进行选项卡,但这并不重要。

我的代码可以在 jsfiddle 和本地 .html 文档中完美运行,但不能在实时网站上运行。

上面写着*

Uncaught TypeError: Cannot read property 'removeClass' of null

  • 7 个字符串

这是一个代码:

$(function(){
		$('.tabs').on('click','a',function(e){
			e.preventDefault();
			$hash = this.hash;
			$link = $(this);
			
      if ($link.parent('.active')){
			$('.tabs-block .active').removeClass('active');

			$('div.active').removeClass('active');
			$($hash).addClass('active');
			$link.parent().addClass('active');
      }
		})
	
})
.tabs-block div{display:none;}
.tabs li{display:inline-block;}
ul.tabs{margin:0;position: relative;top: 2px;}
.tabs li {border:solid 2px #448ebe;border-bottom:none;border-radius: 5px 5px 0 0;}
.tabs li.active{background-color:#fff;border-color:#66b366;opacity:1;}
.tabs-block div.active {display:block;	border: solid #66b366 2px;border-radius: 5px;padding-left:10px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="tabs-block">
<ul class="tabs">
<li class="active"><a href="#tab1"><img src="/images/other/fb.png"></a></li>
<li><a href="#tab2"><img src="/images/other/i.png"></a></li>
<li><a href="#tab3"><img src="/images/other/tw.png"></a></li>
<li><a href="#tab4"><img src="/images/other/vk_2.png"></a></li>
</ul>
<div class="active" id="tab1">
<p>Tab 1</p>
</div>
<div class="" id="tab2">
<p>Tab 2</p>
</div>
<div class="" id="tab3">
<p>Tab 3</p>
</div>
<div class="" id="tab4">
<p>Tab 4</p>
</div>
</div>

最佳答案

你能仔细检查一下你的逻辑吗?

$('.tabs-block .active').removeClass('active');
$('div.active').removeClass('active');

在第一行中,您将删除“active”类,该类也将从下面的元素中删除。

<div class="active" id="tab1">

元素将变成这样:

<div id="tab1">

现在,没有带有 active 类的 div,你的第二条语句将找不到任何匹配的元素,你将得到异常。

关于javascript - 无法读取 null 的属性 'removeClass',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38967450/

相关文章:

javascript - Jquery - 遍历复选框和多个元素

jquery - 同时使用 jQuery .find() 和多个条件?

javascript - 如何在 jquery 中克隆和放置两个不同的项目在各自的位置

JavaFX 从选项卡获取元素

javascript - JS 在后台打开选项卡/模拟 ctrl-click

javascript - 使用javascript获取母版页ContentPlaceHolders中文本框的值

Javascript在循环中隐藏对象

javascript - 按字符串属性值对对象数组进行排序

javascript - 如何在 Angularjs 中调用 Javascript 函数

c# - 将控件从一个选项卡页移动到另一个选项卡页