function showImage(imageSrc) {
$('a.slideTabLinkBlock').removeClass('active');
alert($(this).attr('class'));
$(this).addClass('active');
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="slideTabLinkBlock" onclick="showImage('<?php echo $image_src; ?>');">Link</a>
&#13;
我试图添加一个类&#34;活跃&#34;点击链接时:
<a class="slideTabLinkBlock" onclick="showImage('<?php echo $image_src; ?>');"></a>
function showImage(imageSrc) {
$('a.slideTabLinkBlock').removeClass('active');
alert($(this).attr('class'));
$(this).addClass('active');
}
当我提醒$(this).attr(&#39; class&#39;)时,它会显示&#34; undefined&#34;。
为什么我无法使用$(this)定位锚标记?
如何添加&#34;有效&#34;类的链接被点击?
答案 0 :(得分:0)
使用适当的事件处理程序时,您可以存储$image_src
变量,例如在data
- 属性中。
$('.slideTabLinkBlock').on('click', function() {
var $this = $(this),
imgSrc = $this.data('imgsrc');
$('a.slideTabLinkBlock').removeClass('active');
$this.addClass('active');
alert($(this).attr('class'));
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="slideTabLinkBlock" data-imgsrc="<?php echo $image_src; ?>">Link</a>
&#13;
答案 1 :(得分:0)
因为您没有提供任何其他代码,所以我不知道您在锚标记中使用内联函数的原因。 因为你通常可以这样做:
$('a.slideTabLinkBlock').on('click',function(){
var className = $(this).attr('class');
alert(className);
})
答案 2 :(得分:-3)
$(this)
正在引用Window对象,因此不是您期望的对象。
您可以将“this”传递给内联JS调用中的函数,并创建参数的jQuery元素。请参阅代码段:
function showImage(element, imageSrc) {
$('a.slideTabLinkBlock').removeClass('active');
alert($(element).attr('class'));
$(element).addClass('active');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="slideTabLinkBlock" onclick="showImage(this, '<?php echo $image_src; ?>');">Link</a>