我在span
的{{1}}内有一个td
标记,其格式为table
。我想找到span标签并将其隐藏在下面是我的代码:
HTML:
color:red
编辑第一个范围的ID是动态生成的,如“Span1”“Span2”....
Jquery的:
<table class="table_1">
<tbody>
<tr>
<td>
<span id="dynamically generated" style="color:red;">
Error! correct it.
</span>
</td>
<td>
<span>
// Three links to three different sites
<a>
</a>
<a>
</a>
<a>
</a>
</span>
</td>
</tr>
<tr>
</tr>
</tbody>
</table>
上面的jquery代码隐藏了 $("table.table_1 tr").each(function (n) {
$(this).find('td:eq(0)').find('span').html("");
});
标记,即使它们位于不同的span
中。难道我做错了什么?我只是想隐藏第一个包含错误信息的span标签。有办法吗?
答案 0 :(得分:2)
通常你会在tr或td上加上 class (比如'error'),然后 hide():
<span id="dynamically-generated" class="error">
Error! correct it.
</span>
...
$('table.table_1 .error').hide();
隐藏比调用html('')更优雅,因为hide()不会破坏内容。因此,如果您想稍后显示错误,请拨打 show()。 :)
最后,你应该在CSS中加入红色:
.error { color:red; }
答案 1 :(得分:1)
答案 2 :(得分:1)
试试这个:
$('.table_1 span').filter(function() {
var colormatch= 'rgb(255, 0, 0)'; // match color:red
return ( $(this).css('color') == colormatch);
}).css('display', 'none'); // hide the span
答案 3 :(得分:1)
您可以找到单词“Error”并将其删除。
请参阅此处jsFiddle获取示例或以下内容。
$(document).ready(function() {
$("table.table_1 tr td span").each(function() {
if ($(this).html().lastIndexOf("Error") > 0) {
$(this).html("");
}
});
});
答案 4 :(得分:0)
首先,让我们来看看你的标记:
ID和NAME元素必须以字母开头,即大写字母A到 Z或小写a至z;不允许使用数字。第一次之后 字母(a到z,A到Z),数字(0到9),
。允许使用连字符( - ),下划线(_),冒号(:)和句点(。)
来源:http://www.electrictoolbox.com/valid-characters-html-id-attribute/
由于不允许使用空格,因此您应该使用id="dynamically-generated"
而不是id="dynamically generated"
。然后你可以简单地做
$('#dynamically-generated').hide()
我建议在这里使用class属性,因为你可能有多个dynamically-generated
元素。所以使用class="dynamically-generated"
你会写
$('.dynamically-generated').hide()