<script>
$("table").each(function(){
$table=$(this);
$table.parent().parent().html($table.parent().html());
var $tc = $table.parent().addClass("j-resizeGrid");
</script><DIV style="OVERFLOW-X: hidden" class=page>
<DIV class=pageContent>
<DIV style="HEIGHT: 442px; OVERFLOW: auto" layoutH="33">
<TABLE class="table main" width=750 nowraptd="false">
<THEAD>
<TR>
<TH style="TEXT-ALIGN: center; WIDTH: 30px">序号</TH>
<TH style="TEXT-ALIGN: center; WIDTH: 400px">通知信息</TH>
</TR>
</THEAD>
</DIV>
</DIV>
</DIV>我的问题就是我想把<DIV class=pageContent>变成<TABLE>的父元素,并且为<DIV class=pageContent>添加多一个
j-resizeGrid样式类,然后移除<DIV style="HEIGHT: 442px; OVERFLOW: auto" layoutH="33">这一层,可我上面
那样写调试发现
$table.parent()没有 ,$table.parent().parent()也没有 $table.parent().parent().html()也没有,最后页面生成是
<DIV style="OVERFLOW-X: hidden" class="page">
<DIV class="pageContent">
<TABLE class="table main" width="750" nowraptd="false"><DIV class="pageContent">没有加入j-resizeGrid样式类,搞的我好混,高手讲解一下
在$table.parent().parent().html($table.parent().html()); $table会怎样,他的父元素是怎么样的
这句是指定了一个对象指针,$table.parent().parent().html($table.parent().html());
虽然table内容还在,但是绝来的对象被清空了。 $table.parent().addClass("j-resizeGrid");
这句当然就不会批执行了,如果是想实现你原来的想法,原来两句换位置,加样式这一句加一个parent就行了
var $tc = $table.parent().parent().addClass("j-resizeGrid");
$table.parent().parent().html($table.parent().html());
我的意思就是有没有办法把<TABLE class="table main" width=750 nowraptd="false">
的父对象<DIV style="HEIGHT: 442px; OVERFLOW: auto" layoutH="33">改成<DIV class=pageContent>就是去掉中间一级不要用
$table.parent().parent().html($table.parent().html());
而我下面这样$table.parent()他根本不是<DIV class=pageContent>我下面还有一段是
$table.wrap('<div class="grid"></div>')
var $grid=$table.parent().html($table.parent());
2. 我不知道$table.parent().parent().html($table.parent().html());这句话的用意何在?对于页面的呈现,这句话一点用也没有,只是单纯的用相同的代码替换掉了原来的代码,致命碑缓存的$table指向的实际table对象被移出DOM树,所以你针对$table所进行的一系列操作都不会体现在页面上。
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<script src="jquery.js"></script>
</head>
<body>
<div style="OVERFLOW-X: hidden" class=page>
<div class=pageContent>
<div style="HEIGHT: 442px; OVERFLOW: auto" layoutH="33">
<table class="table main" width=750 nowraptd="false">
<thead>
<tr>
<th style="TEXT-ALIGN: center; WIDTH: 30px">序号</th>
<th style="TEXT-ALIGN: center; WIDTH: 400px">通知信息</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<script>
$("table").each(function(){
$table=$(this);
alert($table[0]);
$table.parent().parent().html($table.parent().html());
alert($table[0]);
var $tc = $table.parent().addClass("j-resizeGrid");
});
</script>
</body>
2. 我不知道$table.parent().parent().html($table.parent().html());这句话的用意何在?对于页面的呈现,这句话一点用也没有,只是单纯的用相同的代码替换掉了原来的代码,致命碑缓存的$table指向的实际table对象被移出DOM树,所以你针对$table所进行的一系列操作都不会体现在页面上。
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<script src="jquery.js"></script>
</head>
<body>
<div style="OVERFLOW-X: hidden" class=page>
<div class=pageContent>
<div style="HEIGHT: 442px; OVERFLOW: auto" layoutH="33">
<table class="table main" width=750 nowraptd="false">
<thead>
<tr>
<th style="TEXT-ALIGN: center; WIDTH: 30px">序号</th>
<th style="TEXT-ALIGN: center; WIDTH: 400px">通知信息</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<script>
$("table").each(function(){
$table = $(this);
var $tc = $table.parent().addClass("j-resizeGrid");
});
</script>
</body>