Jquery - 将父类添加到子类中的链接
Jquery - Add parent class to link in child
我正在为一个论坛开发Chrome扩展程序。这是来自线程页面的一段 HTML:
<div class="body_message" data-message-id="198342" data-topic-id="2876" data-user-id="1769">
<div class="uk-grid post_wrapper">
<div class="uk-width-medium-1-6">
<div class="poster">
<h4></h4>
<ul class="reset smalltext" id="msg_198342_extra_info">
<li class="postcount">194</li>
<li class="online">Online:</li>
<li class="profile"></li>
</ul>
</div>
</div>
</div>
</div>
我为每个帖子添加按钮(img0,img1,img2,img3):
$("li.profile").before("<li class='verdacht smalltext'>Verdenking: "+img0 + img1 + img2 + img3 +"</li>");
现在,这些按钮需要触发一个函数,并发送数据用户ID。单击按钮时,该用户的所有帖子都将获得不同的背景颜色。
关于如何在每个帖子中获取父母的"数据用户ID"的任何想法?
jQuery的closest()
是你的朋友。它遍历选择器祖先并返回第一个匹配的元素。
var userId = $('.profile').closest('.body_message').data('user-id');
你可以从
触发事件的元素(this
)向上遍历 dom 到最接近的<div class="body-message">
,并使用 jQuery 的 data()
函数获取data-user-id
值。
// assuming img0 is a jQuery object
img0.on('click',function(e){
var data = $(this).closest('.body_message').data('user-id');
// do whatever you need in the click event
});
感谢您的建议,我已经让它工作了!
$( "li.profile" ).each(function() {
var userId = $(this).closest('.body_message').data('user-id');
$(this).before("<li class='verdacht smalltext'>Verdenking: "+img0 + img1 + img2 + img3 + userId +"</li>");
});
接下来要弄清楚的是Chrome存储。
相关文章:
- 链接/按钮从子文件夹下载文件--浏览器只是浏览
- 如何基于打开的链接应用类
- 在链接d3强制布局中添加和删除类
- 如何使用PhantomJS在子框架中打开链接
- 如何进行AJAX调用,使其仅在我单击包含在特定类中的链接时触发;id”;父元素的
- Javascript类链接映射库
- 将单击事件附加到按钮或链接上的类,该按钮或链接会触发 AJAX 帖子,然后延迟并继续原始操作
- 更改类后单击链接将不起作用
- AngularJs:无法调用由子模块中的指令链接的函数
- 在没有 jquery 的情况下更改子节点(父节点具有 ID)中的链接文本
- 如何根据活动锚点自动将类添加到链接中
- jquery打开一个带有类的链接
- Jquery - 将父类添加到子类中的链接
- 触发带有特定类链接的简码
- 如何使用jquery将活动类添加到span类链接中
- 如何将一个xml文件与几个节点和子节点链接起来
- 每当我把光标放在一个子类别上时,它就会关闭下拉菜单和子类别链接
- 在滚动上添加类链接,在点击时添加相同的类
- 无法从子域名链接javascript
- 当一个超链接标签被点击时,使用jquery添加一个类到正文中,这个超链接标签位于li标签的子html中