jquery如何获得父级的父级元素?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery如何获得父级的父级元素?相关的知识,希望对你有一定的参考价值。
参考技术A 你这里有2个p元素。不太合理。如要获得父级的父级点两次不就可以了么?
parent()两次啊。。首先获得p的父div在获得div的父级外层的div。这样问题很明显啊。 参考技术B parent()是
父元素
就一个,你要选取class=x的元素,就是第一个p元素的父元素的父元素:
$("p:eq(0)").parent().parent().css("background",
"yellow");
或者p元素父元素的父元素类为x的元素:
$("p").parent().parent(".x").css("background",
"yellow");
或者p元素祖先元素(祖先就很多个了)中类为x的元素:
$("p").parents(".x").css("background",
"yellow");
选择 $.ajax Jquery 的父级?
【中文标题】选择 $.ajax Jquery 的父级?【英文标题】:Select parent of $.ajax Jquery? 【发布时间】:2012-02-17 13:08:03 【问题描述】:如何选择 $.ajax 的父元素或触发 $.ajax 的元素的父元素。我需要某种参考,以便将结果数据应用到它:
var a = $a.val();
var b = $b.val();
$.ajax(
type: "POST",
url: "/Controller/Action",
data: a: a, b: b ,
success: function (data)
var values = data.values,
$elements = $();
for (i = 0; i < 142; i++)
$elements = $elements.add($("<div class='single'>").css('height', values[i]).css('margin-top', 26 - valuesG[i]));
//Here it should reference $(this).parent().parent().. something
//and not :last, because there are many .second elems...
//not only :last is being changed?
$elements.appendTo($(".second:last"));
$(".second:last").children(".single").addClass("ui-selected");
,
traditional: true
);
$(this).parent()
在ajax成功函数中返回jQuery()
有什么想法吗?
【问题讨论】:
【参考方案1】:使用上下文选项:
$.ajax(
url: "test.html",
context: document.body,
success: function()
$(this).addClass("done");
);
jQuery Reference
【讨论】:
上下文:这个,应该做!谢谢!【参考方案2】:因为默认情况下ajax
调用是asynch
,所以当您在success
中执行$(this)
时,this
引用ajax
api 等$(this).parent()
引用jQuery()
。
为了避免这种情况,在 ajax 调用开始在 success
中使用之前,将 element
reference
保存在 variable
中。
target_element = $(this);
$.ajax(
type: "POST",
url: "/Controller/Action",
data: a: a, b: b ,
success: function (data)
// ....................
target_element.parent()
...............................
【讨论】:
【参考方案3】:把ajax的调用放到一个函数中,并将一个元素参数传递给函数?
function doAjax(triggerElement)
$.ajax(
url: whatever,
context: triggerElement,
success : function (content) $(this).html(content);
);
$(function ()
$('#triggerElementId').click(function () doAjax(this); );
);
【讨论】:
以上是关于jquery如何获得父级的父级元素?的主要内容,如果未能解决你的问题,请参考以下文章