Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery';AJAX响应上的父函数_Jquery - Fatal编程技术网

使用jquery';AJAX响应上的父函数

使用jquery';AJAX响应上的父函数,jquery,Jquery,我对jquery有点陌生,不知道这是否可行,所以我来看看 基本上,我使用的是ajax get请求,结果是有效的html,我已经可以在页面上选择我想要的特定对象,然后我想使用它来获取它的所有同级对象,代码如下所示: $.ajax( { type: 'GET', url: requestUrl, dataType: 'html', success: function(data, textStatus) {

我对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>

无关链接1
选择我
兄弟姐妹1
兄弟姐妹2
我想得到的最后一个兄弟姐妹
无关链接2
无关链接3

所以,基本上,我想得到selectme链接的最后一个兄弟。有没有可能让父级使用响应而不是实际的页面元素,如果没有,我如何在不获取任何不相关链接的情况下获取同级?我可以使用“selectme”的索引来创建子选择,但如何在“无关链接2”之前停止?您是否尝试将响应添加到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');
                    }
                });
          }
  });

您是否尝试将响应添加到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');
                    }
                });
          }
  });
使用最后一个选择器

$("div a:last-child")
i、 e

使用最后一个选择器

$("div a:last-child")
i、 e


我意识到我也可以使用同级(“a”)而不是父级()。子级(“a”)。为了使用jQuery,需要将ajax响应添加到实际的DOM结构中。我意识到我也可以使用同级(“a”)而不是父级()。子级(“a”)。为了使用jQuery,需要将ajax响应添加到实际的DOM结构中。是的,但我不确定家长是否总是一个div。这就是问题所在。如果我将来更改代码,我不希望它崩溃。还有,这对页面本身不起作用吗?而不是响应数据?当然,它将在页面上工作,而不是在响应数据上。在DOMYes中查找数据属性之前,您必须对数据属性执行操作或将其插入dom,但我不确定父属性是否始终是div。这就是问题所在。如果我将来更改代码,我不希望它崩溃。还有,这对页面本身不起作用吗?而不是响应数据?当然,它将在页面上工作,而不是在响应数据上。在domook中查找数据属性之前,您必须对数据属性执行操作,或者将其插入dom中,因此我选择此操作,因为它是首先提交的。我正在将内容添加到display:none的div中,并且它正是我想要的。谢谢好的,所以我选择这个,因为它是第一个提交的。我正在将内容添加到display:none的div中,并且它正是我想要的。谢谢