Jquery 如果tbody有多个子元素,请添加show element1
如果另一个div有多个子元素,我就无法显示一个thiw的内容 结构如下:Jquery 如果tbody有多个子元素,请添加show element1,jquery,css,Jquery,Css,如果另一个div有多个子元素,我就无法显示一个thiw的内容 结构如下: <div class="element1"></div> <tbody> <tr></tr> </tbody> .element1 { display: none; } .要素1{ 显示:无; } 所以,如果tbody只有一个子元素,那么display.element1 我用css3做了很多尝试,但都没能完成 多谢各位 if ($('t
<div class="element1"></div>
<tbody>
<tr></tr>
</tbody>
.element1 {
display: none;
}
.要素1{
显示:无;
}
所以,如果tbody只有一个子元素,那么display.element1
我用css3做了很多尝试,但都没能完成
多谢各位
if ($('tbody tr').length > 1) {
$('.element1').show();
}
但@T.J.克劳德的评论是正确的
我希望有帮助
但@T.J.克劳德的评论是正确的
我希望有帮助
所以,如果tbody只有一个子元素,那么display.element1
我将假设下半部分是“……否则就隐藏它。”
您可以这样做:
$(".element1").toggle($("selector-for-the-table tbody").children().length === 1);
当表的内容可能已更改时,您需要触发该代码。您可以在任何现代浏览器上使用。在稍微不太现代的浏览器上,您可以找到一个polyfill/shim,它使用旧的不推荐的突变事件模拟足够多的突变观察者。在非常旧的浏览器上,您必须进行轮询
下面是一个突变观察者观察tbody
变化的例子:
// Watch for changes
var ob = new MutationObserver(function() {
// A change may have occurred
});
ob.observe($("selector-for-the-table tbody")[0], {
childList: true,
subtree: true
});
现场示例:
//执行更新的函数
函数updateElement1(){
$(“.element1”).toggle($(“#表体”).children().length==1);
}
//初始呼叫
updateElement1();
//留意变化
var ob=新的变异观察者(updateElement1);
观察($(“#表格正文”)[0]{
儿童名单:是的,
子树:真
});
//每秒更改一次,持续10秒
var计数器=0;
var timer=setInterval(函数(){
var tbody=$(“#表tbody”);
if(tbody.children().length==1){
//加一
tbody.append(“第二行添加”+新日期().toISOString()+”);
}否则{
//移除一个
t body.children().last().remove();
}
如果(++计数器>=10){
清除间隔(计时器);
$(“”).html(“完成”).appendTo(document.body);
}
}, 1000);代码>
我是元素1
第一排
所以,如果tbody只有一个子元素,那么display.element1
我将假设下半部分是“……否则就隐藏它。”
您可以这样做:
$(".element1").toggle($("selector-for-the-table tbody").children().length === 1);
当表的内容可能已更改时,您需要触发该代码。您可以在任何现代浏览器上使用。在稍微不太现代的浏览器上,您可以找到一个polyfill/shim,它使用旧的不推荐的突变事件模拟足够多的突变观察者。在非常旧的浏览器上,您必须进行轮询
下面是一个突变观察者观察tbody
变化的例子:
// Watch for changes
var ob = new MutationObserver(function() {
// A change may have occurred
});
ob.observe($("selector-for-the-table tbody")[0], {
childList: true,
subtree: true
});
现场示例:
//执行更新的函数
函数updateElement1(){
$(“.element1”).toggle($(“#表体”).children().length==1);
}
//初始呼叫
updateElement1();
//留意变化
var ob=新的变异观察者(updateElement1);
观察($(“#表格正文”)[0]{
儿童名单:是的,
子树:真
});
//每秒更改一次,持续10秒
var计数器=0;
var timer=setInterval(函数(){
var tbody=$(“#表tbody”);
if(tbody.children().length==1){
//加一
tbody.append(“第二行添加”+新日期().toISOString()+”);
}否则{
//移除一个
t body.children().last().remove();
}
如果(++计数器>=10){
清除间隔(计时器);
$(“”).html(“完成”).appendTo(document.body);
}
}, 1000);代码>
我是元素1
第一排
告诉我们,您尝试了什么?该HTML无效。如果它在表
元素中,则那里不能有div
。如果不是,那么,tbody
在table
之外是无效的。有table标记,我只是想解释得更简单一些。告诉我们,您尝试了什么?HTML无效。如果它在表
元素中,则那里不能有div
。如果不是,那么,tbody
在table
之外是无效的。有table标记,我只是想解释得更简单一些。因为OP要求用CSS3做他想要的事情,为了清楚起见,我还想添加这个“条件”纯CSS的行为是不可能的,需要涉及Javascript代码。@Christina,op还添加了有问题的jquery标记,因此可能TJ是对的。@Christina,你是对的,但op在标记中添加了jquery,表示他愿意接受您的答案jquery@T.J.Crowder非常感谢您的快速和教育性回应。我还有一个问题。也许我犯了一个错误,因为我只写了“element1”,因为它实际上看起来是这样的:schema.org/Offer“>我如何选择那个元素?@momcilopov:注意,那个是无效的HTML;div
元素没有那个些属性。(它们可以工作,但它是无效的。)您可以改为使用。但是您可以使用itemprop
属性选择div
,并使用:$(“div[itemprop=offers]”)选择值为“offers”的div
“纯CSS的行为是不可能的,需要涉及Javascript代码。@Christina,op还添加了有问题的jquery标记,因此可能TJ是对的。@Christina,你是对的,但op在标记中添加了jquery,表示他愿意接受有问题的答案jquery@T.J.Crowder非常感谢您的快速和教育性回应。我还有一个问题。也许我犯了一个错误,因为我只写了“element1”,因为它实际上看起来是这样的:schema.org/Offer“>我如何选择那个元素?@momcilopov:注意,那个是无效的HTML;div
元素没有那个些属性。(它们可以工作,但它是无效的。)您可以改为使用。但是您可以使用itemprop
属性选择div
,该属性的值为“offers”,使用:$(“div[itemprop=offers]”
)。