如何选择包含类名实例的链接
How to select a link that contains an instance of a class name?
现在我的页面的源代码具有以下结构:
<span id='648746' class='topic'>linkedin
<a href='' class='hidden unblacklist' onclick='return false'>Restore</a>
<a href='' class='blacklist' onclick='return false'>[X]</a>
</span><br />
在页面加载时,带有文本"恢复"的链接被隐藏。当用户单击链接时,我想将hidden
类添加到刚刚单击的链接中,然后从<span></span>
中的另一个链接中删除hidden
类。我可以让第一部分发挥作用,但第二部分我有困难。这是我的尝试:
$(this).addClass("hidden");
console.log($(this).closest("span"));
$(this).closest("span").hasClass("unblacklist")[0].removeClass("hidden");
其中最大的困难之一是,另一个链接有两个类:"隐藏"answers"取消包列表"。我想我会知道如何在一个班上做到这一点,但游戏在两个班上都会改变。
提前感谢!
编辑:答案太多了。他们也都工作!非常感谢各位。
我的解决方案将使用toggleClass()
:
$(this).parent().children().toggleClass('hidden');
use.siblings((:
$(this).addClass("hidden").siblings().removeClass("hidden");
您可以使用.siblings((,它要么返回DOM中的所有同级,要么接受jQuery过滤器。
$(this).addClass("hidden");
$(this).siblings('a.unblacklist').removeClass("hidden");
只需将此代码添加到链接的click((处理程序中即可。
您的第三行是错的。尝试:
$(this).closest("span").find(".unblacklist").removeClass("hidden");
$('a.blacklist').click(function(){
$(this).addClass('hidden').siblings('a.unblacklist').removeClass('hidden');
});
如果"Restore"链接总是在"[X]"链接之前,则可以使用prev
方法。
$(this).addClass("hidden");
$(this).prev().removeClass("hidden");
hasClass((仅告诉元素是否公开类。它返回一个布尔值,而不是jQuery对象,因此您无法将其链接。
您正在寻找类选择器:
$(this).closest("span").find(".unblacklist").removeClass("hidden");
也就是说,在您的情况中经常使用的模式是首先通过匹配暴露hidden
类的元素来移除它,然后将它添加到您选择的元素中:
$(this).closest("span").find(".hidden").removeClass("hidden");
$(this).addClass("hidden");
(以上假设您的标记可能比问题中的示例更复杂,因此它避免使用siblings((来匹配其他锚点元素。(
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 如何使用jQuery自动打开页面上的所有链接
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- jquery动画可以通过编程链接吗
- 在单击href链接的同时下载文件
- 尽管链接成功并已成功下载,但未找到NPM模块
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 单击页面上的链接后高度发生变化
- 将纯文本URL转换为可单击链接
- python-selenium-点击上升链接
- 一点javascript元编程&可链接的设置器
- ng视图外的链接重定向到ng视图内的页面
- 如何调用“;链接_;在onclick事件上使用Javascript
- 链接所有<a>Meteor
- Angular2/Typescript:从链接可观察函数访问实例变量
- 为什么't括号,用于链接内置JavaScript方法的此实例
- Javascript将网络位置的所有实例替换为超链接
- 通过链接动态创建img,而不附加多个实例
- 如何选择包含类名实例的链接