javascript - 使用 jQuery load() 函数获取元素的祖 parent

标签 javascript jquery ajax

一个 HTML 页面(我无法编辑)包含一个表,我想从中提取所有行,其中第一个 td 包含类为“targetClass”的子元素。

例如,该表包含:

<tr>
  <td><span class="targetClass">Dog</span></td>
  <td>
    <p>Man's best friend.</p>
  </td>
</tr>
<tr>
  <td>Cat</td>
  <td>
    <p>Mouse's worst enemy.</p>
  </td>
</tr>
<tr>
  <td><span class="targetClass">Mouse</span></td>
  <td>
    <p>Timid cheese-loving creature.</p>
  </td>
</tr>

在此示例中,我想要第一个和第三个 tr。

因此,我目前有一个 Javascript 文件,它使用 jQuery load() 函数转到此目标页面并获取类“targetClass”的所有跨度,并将它们放入 div 中调用 Javascript 的页面。我的 JavaScript 是:

var newElement = $('<div>').load(url + ' .targetClass', function(response, status, xhr) {
    ... 
    alert(newElement.html());
    ... 
}); 

警报框显示一组跨度。但我想要它做的是获取每个跨度的祖 parent tr 元素。

我希望 load() 函数的第一个参数中的选择器执行此操作:

$(".targetClass").parent().parent()

我尝试使用它作为选择器。这不起作用。

有人知道如何获取其祖 parent ,而不是获取具有指定类的元素吗?

最佳答案

load() 只是 $.get() 的快捷方式,如果您需要使用复杂的选择器获取元素或将内容插入到其中,它会自动插入内容变量,你应该只使用 $.get 代替

$.get(url, function(data) {
    var newElement   = $('<div />'),
        grandparents = $(data).find(".targetClass").closest('tr');

    newElement.append(grandparents);
});

关于javascript - 使用 jQuery load() 函数获取元素的祖 parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24099301/

相关文章:

java - 使用ajax刷新验证码的问题

javascript - 返回假;不工作

jquery - 我可以使用 jquery 验证引擎验证动态创建的表单吗?

JavaScript 测试 CSS 样式表是否与 CSS3 媒体查询一起应用

javascript - 如何在 Get Request 函数中使用 jquery

javascript - 为 Iframe 的父 div 标签设置宽度

javascript - 由于互联网断开而失败后重试 AJAX

javascript - Jquery - 在同一行附加元素

javascript - Google Plus +1 未在 iPhone 上显示

javascript - 在平板电脑上运行时将点击事件变成触摸事件