访问DOM的上部父节点

时间:2015-07-07 16:34:23

标签: javascript dom dom-traversal dom-events jquery-traversing

以下是我遇到问题的代码:

$("#nav").on("click", "a", function () {
    if (!this.href.match('#$') && !this.href.match('javascript')) {
       alert($(this).parents('.level_2').children('a.blue').text());
    }
       // .append()
});

我正在尝试访问父节点,但我的代码无效

<a href="#" class="blue" style="cursor: default;">AC-DC</a>&nbsp;<a href="http://www.test.com/ac-dc/boardmount" class="blue">Board Mount</a>

我试图访问此

if(GTK_IS_BIN(myCheckbox)) {
        GtkWidget *child = gtk_bin_get_child(GTK_BIN(myCheckbox));
        GdkColor color;
        gdk_color_parse ("#FF0000", &color);
        gtk_widget_modify_fg (child, GTK_STATE_NORMAL, &color);
    }

当用户点击VIA PFM时,它会附加此结果&#34;产品&gt; AC-DC板安装&gt; VIA PFM&#34;

2 个答案:

答案 0 :(得分:0)

.children()通过选择器选择过滤选项来抓取直接孩子。您可能打算使用.find('a.blue').parents()相同。请改用.closest('.level_2')编辑:这是错误的。 parents会越过一个级别。

您的代码有点难以阅读。希望这可以解决您的问题,但我无法自己确认。

$(this).closest('.level_2').find('a.blue').text()

文档:
.parents()
.children()
.closest()
.find()

答案 1 :(得分:0)

$("#nav").on("click", "a", function () {
    if (!this.href.match('#$') && !this.href.match('javascript')) {
       alert($(this).closest('.level_2').find('a.blue').text());
    }
});

感谢@JosephMarikle