Javascript/PHP,避免CSS冲突
我有一个简单的显示和隐藏Javascript:Javascript/PHP,避免CSS冲突,javascript,php,css,html-table,row,Javascript,Php,Css,Html Table,Row,我有一个简单的显示和隐藏Javascript: // JS function used in show/hide connectivity details function in LIB <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script> $(document).ready(funct
// JS function used in show/hide connectivity details function in LIB
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$(".connectivityshow").click(function(event){
var target = event.target.parentElement.nextSibling;
$(target).toggle('blind');
});
});
</script>
我有斑马图案的CSS,所以每一张桌子都是不同的颜色。通过这种布局,隐藏表从CSS中拾取第二种颜色。我试图让CSS只使用3行,但是我有另一个没有显示和隐藏功能的表,它依赖于相同的CSS
你建议我怎样度过这一关
#main-content table.connectivity_list {
width: 100%;
margin: 0;
padding: 0;
border: 0px;
border-bottom: 2px solid #999;
}
#main-content table.connectivity_list thead, #main-content table.connectivity_list thead tr, #main-content table.connectivity_list thead th, #main-content table.connectivity_list thead tr th {
font-weight: bold;
font-size: 12px;
border-top: 2px solid #999;
border-bottom: 2px solid #999;
}
#main-content table.connectivity_list tbody {
}
#main-content table.connectivity_list tbody tr:nth-child(odd) {
background: #ddd;
}
#main-content table.connectivity_list tbody tr {
background: #ccc;
}
*/ #main-content table.connectivity_list td, #main-content table.connectivity_list th {
padding: 2px;
line-height: 1.3em;
}
#main-content table.connectivity_list tfoot td .bulk-actions {
padding: 15px 0 5px 0;
}
#main-content table.connectivity_list tfoot td .bulk-actions select {
padding: 4px;
border: 1px solid #ccc;
}
#main-content table.connectivity_list tbody tr:hover td {
background-color: #eee;
}
我真的不太明白,但是从你问题中的TID和bits中收集,如果你想隐藏没有
类的tr
,请按以下操作
if($('table.connectivity_list').find('tr.Class').length == 0)
{
//this is tr with no class, hide it
}
如果我理解正确,您应该能够使用connectivityshow
向tr添加一个static
类。然后,在JS中,将选择器更改为$(“.connectivityshow:not(.static)”)
它应该在任何连接上运行函数show
单击,除非它还有static
编辑
在php中,将tr的打印更改为print'代码>
在js中,将单击事件更改为$(“.connectivityshow:not(.static)”。单击
执行这两项操作可以根据需要设置tr
s的样式,而无需添加额外的CSS,但是如果类static
位于元素上,它也不会运行click事件。我通过在CSS中创建新类来停止冲突,从而解决了这一问题
谢谢大家。对不起,我解释得不太好。显示和隐藏都很有效,只是它干扰了现有的CSS。你能解释一下干扰
的意思吗??是写得太多还是没有实现?我不确定我是否完全理解。你是说,连接方式的css不存在。php着眼于java。您是否建议我在这里添加内容?请查看更新的答案。我还混入了一个错误的元素名,这可能会让您感到不舒服,希望这会把事情弄清楚。有趣的是,整个表现在都消失了,我猜我应该将java更改为//$(“.connectivityshow”)。单击(函数(事件){(旧的)$(“.connectivityshow:不是(.static)”。单击(函数(事件){.EDIT:$(“.connectivityshow:不是”)(.static)”。单击{相同的结果
#main-content table.connectivity_list {
width: 100%;
margin: 0;
padding: 0;
border: 0px;
border-bottom: 2px solid #999;
}
#main-content table.connectivity_list thead, #main-content table.connectivity_list thead tr, #main-content table.connectivity_list thead th, #main-content table.connectivity_list thead tr th {
font-weight: bold;
font-size: 12px;
border-top: 2px solid #999;
border-bottom: 2px solid #999;
}
#main-content table.connectivity_list tbody {
}
#main-content table.connectivity_list tbody tr:nth-child(odd) {
background: #ddd;
}
#main-content table.connectivity_list tbody tr {
background: #ccc;
}
*/ #main-content table.connectivity_list td, #main-content table.connectivity_list th {
padding: 2px;
line-height: 1.3em;
}
#main-content table.connectivity_list tfoot td .bulk-actions {
padding: 15px 0 5px 0;
}
#main-content table.connectivity_list tfoot td .bulk-actions select {
padding: 4px;
border: 1px solid #ccc;
}
#main-content table.connectivity_list tbody tr:hover td {
background-color: #eee;
}
if($('table.connectivity_list').find('tr.Class').length == 0)
{
//this is tr with no class, hide it
}