我对jquery有些新意,并且不知道这是否可行,所以这里有。
基本上,我使用的是ajax get请求,结果是在有效的html中,我已经可以在页面上选择我想要的特定对象,然后我想用它来获取它的所有兄弟,这是代码看起来如何:
$.ajax(
{
type: 'GET',
url: requestUrl,
dataType: 'html',
success: function(data, textStatus)
{
var allLinks = $(data).find("a");
allLinks.each(function(){
if($(this).text() == 'selectme'){
$(this).parent().children("a").last().css('color', 'red');
}
});
}
});
这就是响应的样子:
<html>
<body>
<a>irrelevant link 1</a>
<div>
<a>selectme</a>
<a>sibling 1</a>
<a>sibling 2</a>
<a>last sibling, which I want to get</a>
</div>
<a>irrelevant link 2</a>
<a>irrelevant link 3</a>
</body>
</html>
所以,基本上,我想得到selectme链接的最后一个兄弟。是否有可能让父母使用响应而不是实际的页面元素,如果没有,我怎么能得到兄弟姐妹而不获得任何不相关的链接?我可以使用“selectme”索引创建一个子选择,但是如何在“无关链接2”之前停止?
答案 0 :(得分:1)
您是否尝试将响应添加到HTML文档中。
$.ajax(
{
type: 'GET',
url: requestUrl,
dataType: 'html',
success: function(data, textStatus)
{
$('body').html(data); // jQuery works on actual DOM, not just a string
var allLinks = $('body').find("a");
allLinks.each(function(){
if($(this).text() == 'selectme'){
$(this).parent().children("a").last().css('color', 'red');
}
});
}
});
答案 1 :(得分:0)
使用最后一个选择器
$("div a:last-child")
即。
$.ajax(
{
type: 'GET',
url: requestUrl,
dataType: 'html',
success: function(data, textStatus)
{
$("div a:last-child").css('color', 'red');
});