具有父级和this关键字的复合选择器

时间:2018-10-22 18:02:57

标签: javascript jquery

我正在抓取数据,有时数据没有可轻松访问的类。对于这些情况,我想使用.parent()获取父对象,然后像这样制作复合选择器。这似乎效果不佳。这是jsfiddle。 https://jsfiddle.net/oLx9pyzt/17/

$(element).click( function () {
    var parentClass = $(element).parent().attr("class");
    var compoundelement = $("." + parentClass + " > " + this);
});

1 个答案:

答案 0 :(得分:0)

这是我找到的解决方案。我张贴了代码,以防jsfiddle过期。诀窍是使用$(element)[0] .tagName而不是单独使用此元素。

function getElementsParent(element) {
  $(element).click(function() {
      var parentClass = $(this).parent().attr("class");
      var tagName = $(element)[0].tagName;
      var compoundelement = $("." + parentClass + " > " + tagName);
      var backgroundcolor = compoundelement.css("background-color");

       if (backgroundcolor.trim() == "rgb(0, 0, 255)") {
            compoundelement.css("background-color", "rgb(255, 255, 255)");
        } else {
            compoundelement.css("background-color", "rgb(0, 0, 255)");
        }
    });
}