Предполагая, что ms-vb-title является именем класса элементов списка, а ms-WPHeader где-то внутри этого списка, вот правильный код:
$(".ms-vb-title").each(function(){
var val = $(this).text();
if(val === "this item" && $(this).parents("ul").find(".ms-WPHeader").text() === "ListName") {
$(this).parents('tr:first').hide();
}
});
Если элемент с классом ms-WPHeader находится вне списка, но количество соответствует количеству списков, вы можете попробовать с помощью index()
:
$(".ms-vb-title").each(function(){
var val = $(this).text();
if(val === "this item") {
var oParentList = $(this).parents("ul");
var oHeader = $(".ms-WPHeader").eq(oParentList.index());
if (oHeader.text() === "ListName") {
$(this).parents('tr:first').hide();
}
}
});
Edit : видя вашу фактическую разметку, вот что должно работать лучше:
$(".ms-vb-title").each(function(){
var val = $.trim($(this).find("a").text());
if(val === "this item" && $(".ms-WPHeader").find("td").first().attr("title") === "ListName") {
$(this).parents('tr:first').hide();
}
});
Edit : при условии, что вы получили сумму .ms-WPHeader
, равную .ms-vb-title
ив том же порядке вы можете использовать индекс:
$(".ms-vb-title").each(function(index){
var val = $.trim($(this).find("a").text());
if(val === "this item" && $(".ms-WPHeader").eq(index).find("td").first().attr("title") === "ListName") {
$(this).parents('tr:first').hide();
}
});