Javascript-隐藏基于文本的动态分区
Javascript - Hide Dynamic Div based on text
我有一个表,它创建动态div,ID在创建时枚举,类似于下面的HTML:
<div id="dgpCheckDiv10_0">
<input Delete
</div>
<div id="dgpCheckDiv10_1">
text2
</div>
某些Div的复选框中会有如上所述的"删除"一词,而其他Div则会有一个根本没有标签的复选框。
我正在尝试编写一些javascript来隐藏那些不包含"删除"一词的复选框。
我有下面的脚本,但它没有达到.hide函数。有什么想法吗?
$(document).ready(function () {
var divs= document.getElementsByTagName('div');
for (var i = 0, len = divs.length; i < len; ++i) {
console.log(divs[i].id);
//if(divs[i].id.substring(divs[i].id.length) == 'dgpCheckDiv10_*') {
if(/^dgpCheckDiv10_/.test(divs[i].id)) {
if(divs[i].innerHTML.indexOf(" Delete") === -1) {
console.log(divs[i].innerHTML);
$(divs[i]).hide();
//$(this).closest('#divDGP2Container').find('#task').hide();
}
}
}
});
这将隐藏不包含值为Delete
的复选框的div。
$("div[id^=dgpCheckDiv10_]:not(:contains(:checkbox[value=Delete]))").hide();
如果你只是想隐藏复选框,而不是整个DIV:
$("div[id^=dgpCheckDiv10_] :checkbox:not([value=Delete])").hide();
这就是您需要做的:
<div id="dgpCheckDiv10_0">
<input type="checkbox"/>Delete
</div>
<div id="dgpCheckDiv10_1">
<input type="checkbox"/>
</div>
$("div[id^='dgpCheckDiv10']").each(function()
{
if($(this).html().indexOf("Delete") === -1)
{
$(this).find('input:checkbox').hide();
// If you wish to remove it - just uncomment the following line
//$(this).html("");
}
});
http://jsfiddle.net/uj0twtd8/1/
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 动态分配GA增强型电子商务跟踪器
- onkeyup无法动态创建多个文本区域
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何使Javascript动态html表及其上的事件
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 如何使用javascript从主svg对象动态创建svg视图框
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 设置滑块分区上的滚动
- 通过在Dojo mobile ViewController.openExternalView中动态更改打开同一外部视图的
- 如何在Google柱状图中动态添加行/列
- 困在逻辑中试图定位动态的东西
- JQuery移动动态分区页面
- Javascript-隐藏基于文本的动态分区
- 根据计算的RNG动态调整分区/元素的大小
- 通过点击同一分区中的按钮来动态选择一个元素
- 无法删除动态创建的分区