我的任务是使用下面的blockquote代码检索HTML标记。我用我的方法尝试了它,但它没有工作,我改变了另一种方式,即使它不是我认为的最佳方式。
我的第一次尝试并没有成功
search_title_temp_1 = $(search_title).closest("tbody").closest("tr").closest("tbody");
search_title_temp_2 = $(search_title_temp_1).find("tr").eq(1);
search_title_temp_2.hide();
这符合我的需要:
search_title_temp_1 = $(search_title).closest("tbody").closest("tr").closest("tbody");
search_title_temp_2 = $(search_title_temp_1).find(".noindex").closest("tr");
search_title_temp_2.hide();
请告诉我:
- 我的第一次尝试出了什么问题?
- 如果您有其他解决方案来缩短我的上一个代码,请告诉我相关信息 建议将不胜感激。
醇>
HTML:
<table>
<tbody>
<tr>
<td>
<table>
<tbody>
<tr>
<td title="Electric Consumption for May 2013" id="WebPartTitleWPQ3" class="ms-WPHeaderTd">
<h3 style="text-align:justify;" class="ms-standardheader ms-WPTitle"><a accesskey="W" href="/Lists/ElectricWaterConsumption"><nobr>
<span>Electric Consumption for May 2013</span><span id="WebPartCaptionWPQ3"></span>
</nobr></a></h3>
</td>
<td>123</td>
<td>123</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="" valign="top">
<div width="100%" class="noindex ms-wpContentDivSpace">123</div>
</td>
</tr>
</tbody>
</table>
使用Javascript:
$("document").ready(function () {
var title = "Electric Consumption for May 2013";
var get_title = $(".ms-WPHeaderTd span");
for (i = 0; i < get_title.length; i++) {
//alert(get_title.eq([i]).text());
var search_title = get_title.eq([i]);
if (search_title.text() == title) {
alert(search_title.text());
search_title_temp_1 = $(search_title).closest("tbody").closest("tr").closest("tbody");
search_title_temp_2 = $(search_title_temp_1).find(".noindex").closest("tr");
search_title_temp_2.hide();
}
}
});
答案 0 :(得分:1)
我的第一次尝试出了什么问题?
第一次尝试的问题是find("tr")
获得所有tr
个后代,而不仅仅是孩子。然后find("tr").eq(1)
不是你想要的。
请改用:
$(search_title_temp_1).children("tr").eq(1);
如果您有其他解决方案来缩短我的上一个代码,请告诉我 了解这一点,任何建议将不胜感激。
您可以在https://codereview.stackexchange.com/
中询问有关工作代码的建议我不会创建变量(如果你这样做,用var
声明它们!):
$(search_title)
.closest("tbody").closest("tr").closest("tbody")
.children("tr")
.eq(1)
.hide();