首页 > 解决方案 > 找父母的麻烦

问题描述

我正在使用 Greasemonkey 来增强基于网格的网站,并进行一些突出显示。我想为用户单击的单元格添加大纲。为此,我需要突出显示单元格的父级。否则,需要单击 2 次才能添加我计划使用的边框突出显示。

这是在一个事件监听器内点击,传递“elem”

点击的单元格在点击事件中可用 - 我通过验证它的属性来检查这一点。他们的关键属性是:

data-test="siteQty-sometext&row=XXXX%^&site=YYYY"

其中 row 和 site 是每个单元格的唯一值

父级始终具有像这样定义的相同类“rrrr ssss tttt”,其中 YYYY 是上面数据测试字段中的站点。

<div class = "rrrr ssss tttt" colid="sqYYYY".. >

所以总的来说

<div class = "rrrr ssss tttt" style="width: 100px;, left: 20px; colid="sqYYYY"> 
    <div class = "mmm nnn ooo", data-test=data-test="siteQty-sometext&row=xxxx%^&site=YYYY"">
</div>
</div>

第二个 div 是单击的元素,第一个 div 是我要突出显示的那个(带边框的轮廓)。

我试过了

var upclass = "mmm nnn ooo";
var mydad = elem.target.closest(upclass);

var mydata = elem.target.parentNode;

两者都给出未定义

n00B,那我错过了什么?

标签: javascript

解决方案


你的代码:

var upclass = "mmm nnn ooo";
var mydad = elem.target.closest(upclass);

.使用for 类更改为 uplcass var 的值:

var upclass = ".mmm nnn ooo";
var mydad = elem.target.closest(upclass);

应该管用。

更新:使用这个:

var upclass = ".mmm";

推荐阅读