我是JQuery的新手,当td.ms-vb的内容包含文本&#34时,我试图隐藏DIV#SAlertWrap;目前没有活动公告"。 td.ms-vb包含在#SAlertWrap中。
我可以隐藏DIV本身但无法弄清楚如何根据文本值隐藏它。
$(document).ready(function() {
$('#SAlertWrap').hide( );
});
我也可以选择隐藏或替换文本的文本,但这只会影响特定的行。
$(document).ready(function() {
$("td.ms-vb:contains('There are currently no active announcements')").parent().hide();
});
我尝试用$('#SAlertWrap')替换parent()并不断出现语法错误。
关于如何组合这些的任何想法?
谢谢
答案 0 :(得分:2)
使用您的方法,但使用。parent()和可选的选择器。如果您的td不是直接的孩子,请改用.parents()。
$(document).ready(function() {
$("td.ms-vb:contains('There are currently no active announcements')")
.parents('#SAlertWrap').hide();
});
稍微提高性能可能是使用.closest而不是父母。
答案 1 :(得分:0)
$(document).ready(function() {
if ($("td.ms-vb").text() == 'There are currently no active announcements') {
$("td.ms-vb").parent().hide();
}
});
答案 2 :(得分:0)
你可以这样做:
if ( $("td.ms-vb:contains('There are currently no active announcements')").length )
$('#SAlertWrap').hide( );
.length
检查选择器提供的匹配元素数组。如果长度大于0,则隐藏元素。 (0
在JS中是假的)