一个 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/