Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_14980201
ueditor
提交
81b974b2
U
ueditor
项目概览
qq_14980201
/
ueditor
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
ueditor
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
81b974b2
编写于
2月 26, 2013
作者:
Y
yancen
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev-1.2.5' of
https://github.com/campaign/ueditor
into dev-1.2.5
上级
448cbfed
e0bf9454
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
163 addition
and
111 deletion
+163
-111
_test/core/filternode.js
_test/core/filternode.js
+69
-45
_test/core/node.js
_test/core/node.js
+94
-66
未找到文件。
_test/core/filternode.js
浏览文件 @
81b974b2
module
(
'
core.filternode
'
);
test
(
''
,
function
()
{
test
(
'
过滤掉整个标签
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa"><p>sdf<b>sdf</b></p><i>sdf</i></div>
'
);
UE
.
filterNode
(
node
,{
'
p
'
:{},
'
b
'
:
'
-
'
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p>sdf</p>sdf</div>
'
);
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p>sdf</p>sdf</div>
'
,
'
保留p,过滤b
'
);
node
.
innerHTML
(
'
<p
style="color:#ccc;border:1px solid #ccc;"><table><tbody><tr><td></td></tr></tbody></table></p><div>sdfasdf</div
>
'
);
node
.
innerHTML
(
'
<p
><p>sdfs</p><br/><br/><br/><br/></p
>
'
);
UE
.
filterNode
(
node
,{
'
p
'
:{
$
:{
style
:[
'
color
'
]
}},
'
td
'
:{}
'
p
'
:{},
'
br
'
:
'
-
'
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p style="color:#ccc"><td></td></p>sdfasdf</div>
'
);
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p><p>sdfs</p></p></div>
'
,
'
保留p,过滤br
'
);
});
node
.
innerHTML
(
'
<p style="color:#ccc;border:1px solid #ccc;"><table><tbody><tr><td>sdfs</td><td>sdfs</td></tr></tbody></table></p><div>sdfasdf</div>
'
);
test
(
'
过滤标签全部属性
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa"><p>sdf<b>sdf</b></p><i>sdf</i></div>
'
);
node
.
innerHTML
(
'
<div id="aa"><p style="color:#ccc"><p>sdfssdfs</p></p>sdfasdf</div>
'
);
UE
.
filterNode
(
node
,{
'
p
'
:{
$
:{
style
:[
'
color
'
]
}},
'
tr
'
:
function
(
node
){
node
.
tagName
=
'
p
'
;
node
.
setAttr
();
},
'
td
'
:
function
(
node
){
node
.
parentNode
.
removeChild
(
node
,
true
)
}
'
p
'
:{
$
:{}}
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p
style="color:#ccc"><p>sdfssdfs</p></p>sdfasdf</div>
'
);
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p
><p>sdfssdfs</p></p>sdfasdf</div>
'
,
'
过滤p全部属性
'
);
node
.
innerHTML
(
'
<h6>asd<b>lk</b><i>fj</i></h6>
'
);
UE
.
filterNode
(
node
,{
'
p
'
:{
$
:{}}
'
h6
'
:
function
(
node
){
node
.
tagName
=
'
p
'
;
node
.
setAttr
();
},
'
-
'
:
'
b i
'
,
'
p
'
:{}
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p><p>sdfssdfs</p></p>sdfasdf</div>
'
);
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p>asd</p></div>
'
,
'
同时过滤多个标签属性
'
);
});
node
.
innerHTML
(
'
<p><p>sdfs</p><br/><br/><br/><br/></p>
'
);
test
(
'
过滤标签部分属性
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa"><p>sdf<b>sdf</b></p><i>sdf</i></div>
'
);
node
.
innerHTML
(
'
<p style="color:#ccc;border:1px solid #ccc;"><table><tbody><tr><td></td></tr></tbody></table></p><div>sdfasdf</div>
'
);
UE
.
filterNode
(
node
,{
'
p
'
:{},
'
br
'
:
'
-
'
'
p
'
:{
$
:{
style
:[
'
color
'
]
}},
'
td
'
:{}
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p
><p>sdfs</p></p></div>
'
);
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p
style="color:#ccc"><td></td></p>sdfasdf</div>
'
,
'
保留p的color属性
'
);
node
.
innerHTML
(
'
<p style="text-indent:28px;line-height:200%;margin-top:62px;"><strong>sdfs</strong><span style="font-family:宋体">sdfs</span></p>
'
);
UE
.
filterNode
(
node
,{
...
...
@@ -53,7 +58,7 @@ test( '', function() {
'
span
'
:{
$
:{}},
'
strong
'
:
'
-
'
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p style="line-height:200%"><span>sdfs</span></p></div>
'
);
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p style="line-height:200%"><span>sdfs</span></p></div>
'
,
'
过滤span全部属性,保留p部分属性,过滤strong标签
'
);
node
.
innerHTML
(
'
<p><a></a><u class="ad" id="underline">sdfs<sub class="ab">sdfs</sub><i>sdfs</i></u><i>sdfs</i></p>
'
);
UE
.
filterNode
(
node
,{
...
...
@@ -64,7 +69,26 @@ test( '', function() {
'
sub
'
:{
$
:{}},
'
i
'
:
'
-
'
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p><u class="ad">sdfs<sub>sdfs</sub></u></p></div>
'
);
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p><u class="ad">sdfs<sub>sdfs</sub></u></p></div>
'
,
'
过滤sub全部属性,保留u部分属性,过滤i标签
'
);
});
test
(
'
标签替换过滤
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa"><p>sdf<b>sdf</b></p><i>sdf</i></div>
'
);
node
.
innerHTML
(
'
<p style="color:#ccc;border:1px solid #ccc;"><table><tbody><tr><td>sdfs</td><td>sdfs</td></tr></tbody></table></p><div>sdfasdf</div>
'
);
UE
.
filterNode
(
node
,{
'
p
'
:{
$
:{
style
:[
'
color
'
]
}},
'
tr
'
:
function
(
node
){
node
.
tagName
=
'
p
'
;
node
.
setAttr
();
},
'
td
'
:
function
(
node
){
node
.
parentNode
.
removeChild
(
node
,
true
)
}
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p style="color:#ccc"><p>sdfssdfs</p></p>sdfasdf</div>
'
,
'
tr替换为p,过滤掉td
'
);
node
.
innerHTML
(
'
<img src="http://img.baidu.com/hi/jx2/j_0020.gif" height="10px"/><table><caption>aldkfj</caption><tbody><tr style="background-color: #ccc;"><th>adf</th></tr><tr><td>lkj</td></tbody></table>
'
);
UE
.
filterNode
(
node
,{
...
...
@@ -83,41 +107,41 @@ test( '', function() {
node
.
parentNode
.
removeChild
(
node
,
node
.
innerText
())
}
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><img src="http://img.baidu.com/hi/jx2/j_0020.gif" /><table>aldkfj<tbody><tr>adf </tr><tr><td>lkj</td></tr></tbody></table></div>
'
);
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><img src="http://img.baidu.com/hi/jx2/j_0020.gif" /><table>aldkfj<tbody><tr>adf </tr><tr><td>lkj</td></tr></tbody></table></div>
'
,
'
th按文本内容替换,保留img部分属性
'
);
});
test
(
'
保留标签全部属性
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa"><p>sdf<b>sdf</b></p><i>sdf</i></div>
'
);
node
.
innerHTML
(
'
<ol><li><em>sdf</em></li><ul class=" list-paddingleft-2"><li>a</li><li>b</li><li>c</ul><li>jkl</ol>
'
);
UE
.
filterNode
(
node
,{
'
ol
'
:{},
'
ul
'
:{
$
:{}},
'
li
'
:{}
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><ol><li>sdf</li><ul><li>a</li><li>b</li><li>c</li></ul><li>jkl</li></ol></div>
'
);
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><ol><li>sdf</li><ul><li>a</li><li>b</li><li>c</li></ul><li>jkl</li></ol></div>
'
,
'
保留ol、li全部属性,过滤ul全部属性
'
);
});
//过滤规则为空
test
(
'
过滤规则为空
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa"><p>sdf<b>sdf</b></p><i>sdf</i></div>
'
);
node
.
innerHTML
(
'
<p style="color:#ccc;border:1px solid #ccc;"><table><tbody><tr><td><h1>asd</h1></td></tr></tbody></table></p><div>sdfasdf</div>
'
);
UE
.
filterNode
(
node
,{});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p style="color:#ccc;border:1px solid #ccc;"><table><tbody><tr><td><h1>asd</h1></td></tr></tbody></table></p><div>sdfasdf</div></div>
'
);
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p style="color:#ccc;border:1px solid #ccc;"><table><tbody><tr><td><h1>asd</h1></td></tr></tbody></table></p><div>sdfasdf</div></div>
'
,
'
过滤规则为空
'
);
});
test
(
'
特殊规则过滤
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa"><p>sdf</p><i>sdf</i></div>
'
);
node
.
innerHTML
(
'
<script></script>
'
);
UE
.
filterNode
(
node
,{
'
b
'
:
'
-
'
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"></div>
'
);
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"></div>
'
,
'
过滤规则中包含html中不存在的标签
'
);
node
.
innerHTML
(
'
<p><!--asdfjasldkfjasldkfj--></p>
'
);
UE
.
filterNode
(
node
,{
'
p
'
:{}
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p></p></div>
'
);
node
.
innerHTML
(
'
<h6>asd<b>lk</b><i>fj</i></h6>
'
);
UE
.
filterNode
(
node
,{
'
h6
'
:
function
(
node
){
node
.
tagName
=
'
p
'
;
node
.
setAttr
();
},
'
-
'
:
'
b i
'
,
'
p
'
:{}
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p>asd</p></div>
'
);
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p></p></div>
'
,
'
innerHTML中包含注释
'
);
});
\ No newline at end of file
_test/core/node.js
浏览文件 @
81b974b2
module
(
'
core.node
'
);
test
(
''
,
function
()
{
test
(
'
createElement
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
//createElement
var
node
=
uNode
.
createElement
(
'
div
'
);
equals
(
node
.
tagName
,
'
div
'
);
equals
(
node
.
type
,
'
element
'
);
equals
(
node
.
tagName
,
'
div
'
,
'
空div ——tagname
'
);
equals
(
node
.
type
,
'
element
'
,
'
空div ——节点类型
'
);
node
=
uNode
.
createElement
(
'
<div id="aa">sdfadf</div>
'
);
equals
(
node
.
tagName
,
'
div
'
);
equals
(
node
.
children
[
0
].
data
,
'
sdfadf
'
);
equals
(
node
.
tagName
,
'
div
'
,
'
非空div——tagname
'
);
equals
(
node
.
children
[
0
].
data
,
'
sdfadf
'
,
'
非空div——数据内容
'
);
});
//getNodeById
node
=
uNode
.
createElement
(
'
<div id="aa"><div id="bb"></div>sdfadf</div>
'
);
test
(
'
getNodeById
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa"><div id="bb"></div>sdfadf</div>
'
);
node
=
node
.
getNodeById
(
'
bb
'
);
equals
(
node
.
getAttr
(
'
id
'
),
'
bb
'
);
equals
(
node
.
getAttr
(
'
id
'
),
'
bb
'
,
'
获取标签id
'
);
node
=
uNode
.
createElement
(
'
<div id="aa"><div id="bb"><div id="cc"></div> </div>sdfadf</div>
'
);
node
=
node
.
getNodeById
(
'
cc
'
);
equals
(
node
.
getAttr
(
'
id
'
),
'
cc
'
);
equals
(
node
.
getAttr
(
'
id
'
),
'
cc
'
,
'
获取标签id
'
);
});
//getNodesByTagName
node
=
uNode
.
createElement
(
'
<div id="aa"><div id="bb"><div id="cc"></div> </div>sdfadf</div>
'
);
test
(
'
getNodesByTagName
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa"><div id="bb"><div id="cc"></div> </div>sdfadf</div>
'
);
var
nodelist
=
node
.
getNodesByTagName
(
'
div
'
);
equals
(
nodelist
.
length
,
2
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="bb"><div id="cc"></div> </div>sdfadf
'
);
equals
(
nodelist
.
length
,
2
,
'
div节点列表长度
'
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="bb"><div id="cc"></div> </div>sdfadf
'
,
'
innerHTML内容
'
);
});
//innerHTML
test
(
'
innerHTML
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa">sdfadf</div>
'
);
node
.
innerHTML
(
'
<div><div><div></div></div></div>
'
);
nodelist
=
node
.
getNodesByTagName
(
'
div
'
);
equals
(
nodelist
.
length
,
3
);
var
nodelist
=
node
.
getNodesByTagName
(
'
div
'
);
equals
(
nodelist
.
length
,
3
,
'
div节点列表长度
'
);
for
(
var
i
=
0
,
ci
;
ci
=
nodelist
[
i
++
];){
ci
.
tagName
=
'
p
'
;
}
equals
(
node
.
innerHTML
(),
'
<p><p><p></p></p></p>
'
);
equals
(
node
.
innerHTML
(),
'
<p><p><p></p></p></p>
'
,
'
innerHTML内容
'
);
});
//innerText
test
(
'
innerText
'
,
function
()
{
var
tmp
=
new
UE
.
uNode
.
createElement
(
'
area
'
);
tmp
.
innerHTML
(
''
);
equals
(
tmp
.
innerText
(),
tmp
);
tmp
.
innerHTML
(
'
<p></p>
'
);
equals
(
tmp
.
innerText
(),
tmp
,
'
标签类型特殊
'
);
var
tmp
=
new
UE
.
uNode
.
createText
(
''
);
tmp
.
innerHTML
(
''
);
equals
(
tmp
.
innerText
(),
tmp
);
tmp
.
innerHTML
(
'
<p></p>
'
);
equals
(
tmp
.
innerText
(),
tmp
,
'
对象类型不为element
'
);
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa">sdfadf</div>
'
);
node
.
innerHTML
(
'
<p>dfsdfsdf<b>eee</b>sdf</p>
'
);
equals
(
node
.
innerText
(),
'
dfsdfsdfeeesdf
'
);
equals
(
node
.
innerText
(),
'
dfsdfsdfeeesdf
'
,
'
获取标签中纯文本
'
);
});
//getData
test
(
'
getData
'
,
function
()
{
var
tmp
=
new
UE
.
uNode
.
createElement
(
'
div
'
);
equals
(
tmp
.
getData
(),
''
);
equals
(
tmp
.
getData
(),
''
,
'
element元素
'
);
var
tmp
=
new
UE
.
uNode
.
createText
(
'
askdj
'
);
equals
(
tmp
.
getData
(),
"
askdj
"
);
equals
(
tmp
.
getData
(),
"
askdj
"
,
'
其他类型
'
);
});
//appendChild && insertBefore
test
(
'
appendChild && insertBefore
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa">sdfadf</div>
'
);
node
.
innerHTML
(
'
<p><td></td></p>
'
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p>
'
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p>
'
,
'
补全html标签
'
);
var
tmp
=
uNode
.
createElement
(
'
div
'
);
node
.
appendChild
(
tmp
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><div></div>
'
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><div></div>
'
,
'
appendChild
'
);
node
.
insertBefore
(
tmp
,
node
.
firstChild
());
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div></div><p><table><tbody><tr><td></td></tr></tbody></table></p>
'
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div></div><p><table><tbody><tr><td></td></tr></tbody></table></p>
'
,
'
insertBefore
'
);
node
.
appendChild
(
tmp
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><div></div>
'
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><div></div>
'
,
'
appendChild
'
);
});
//replaceChild && setAttr
tmp
=
uNode
.
createElement
(
'
p
'
);
test
(
'
replaceChild && setAttr
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa">sdfadf</div>
'
);
node
.
innerHTML
(
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><div></div>
'
);
var
tmp
=
uNode
.
createElement
(
'
p
'
);
tmp
.
setAttr
({
'
class
'
:
'
test
'
,
'
id
'
:
'
aa
'
});
node
.
insertBefore
(
tmp
,
node
.
lastChild
());
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><p class="test" id="aa"></p><div></div>
'
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><p class="test" id="aa"></p><div></div>
'
,
'
setAttr不为空
'
);
node
.
replaceChild
(
uNode
.
createElement
(
'
div
'
),
tmp
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><div></div><div></div>
'
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><div></div><div></div>
'
,
'
replaceChild
'
);
//insertAfter
node
.
innerHTML
(
'
<p><td></td></p>
'
);
var
tmp
=
uNode
.
createElement
(
'
div
'
);
node
.
appendChild
(
tmp
);
node
.
insertAfter
(
tmp
,
node
.
firstChild
());
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><div></div>
'
);
node
.
appendChild
(
tmp
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><div></div>
'
);
//setAttr
node
.
removeChild
(
node
.
lastChild
(),
true
);
tmp
=
uNode
.
createElement
(
'
p
'
);
tmp
.
setAttr
();
node
.
insertAfter
(
tmp
,
node
.
lastChild
());
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><div></div><p></p>
'
);
//replaceChild
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><div></div><p></p>
'
,
'
setAttr为空
'
);
node
.
innerHTML
(
'
<p><td></td></p>
'
);
var
tmp
=
uNode
.
createElement
(
'
div
'
);
node
.
appendChild
(
tmp
);
node
.
replaceChild
(
node
.
firstChild
(),
tmp
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p>
'
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p>
'
,
'
replaceChild
'
);
});
//getStyle
test
(
'
insertAfter
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa">sdfadf</div>
'
);
node
.
innerHTML
(
'
<p><td></td></p>
'
);
var
tmp
=
uNode
.
createElement
(
'
div
'
);
node
.
appendChild
(
tmp
);
node
.
insertAfter
(
tmp
,
node
.
firstChild
());
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><div></div>
'
,
'
在第一个子节点后插入
'
);
});
test
(
'
getStyle
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
div
'
);
node
.
innerHTML
(
'
<div style=""><div>
'
);
node
=
node
.
firstChild
();
equals
(
node
.
getStyle
(
''
),
''
);
equals
(
node
.
getStyle
(
''
),
''
,
'
空cssStyle
'
);
node
.
innerHTML
(
'
<div style="border:1px solid #ccc"><div>
'
);
node
=
node
.
firstChild
();
equals
(
node
.
getStyle
(
'
border
'
),
'
1px solid #ccc
'
);
equals
(
node
.
getStyle
(
'
border
'
),
'
1px solid #ccc
'
,
'
有border,取border样式
'
);
node
.
innerHTML
(
'
<div style="border:1px solid #ccc"><div>
'
);
node
=
node
.
firstChild
();
equals
(
node
.
getStyle
(
'
color
'
),
''
);
equals
(
node
.
getStyle
(
'
color
'
),
''
,
'
无color样式,取color样式
'
);
node
.
innerHTML
(
'
<div style="border:1px solid #ccc;color:#ccc"><div>
'
);
node
=
node
.
firstChild
();
equals
(
node
.
getStyle
(
'
border
'
),
'
1px solid #ccc
'
);
equals
(
node
.
getStyle
(
'
border
'
),
'
1px solid #ccc
'
,
'
有2个样式,取其一
'
);
});
//setStyle
test
(
'
setStyle
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
div
'
);
node
.
innerHTML
(
'
<div style="border:1px solid #ccc;color:#ccc"><div>
'
);
node
=
node
.
firstChild
();
node
.
setStyle
(
'
border
'
,
'
2px solid #ccc
'
);
equals
(
node
.
getAttr
(
'
style
'
),
'
border:2px solid #ccc;color:#ccc
'
);
equals
(
node
.
getAttr
(
'
style
'
),
'
border:2px solid #ccc;color:#ccc
'
,
'
修改样式中的一个
'
);
node
.
setStyle
({
'
font
'
:
'
12px
'
,
'
background
'
:
'
#ccc
'
});
equals
(
node
.
getAttr
(
'
style
'
),
'
background:#ccc;font:12px;border:2px solid #ccc;color:#ccc
'
);
equals
(
node
.
getAttr
(
'
style
'
),
'
background:#ccc;font:12px;border:2px solid #ccc;color:#ccc
'
,
'
添加新样式
'
);
node
.
setStyle
({
'
font
'
:
''
,
'
background
'
:
''
,
'
border
'
:
''
,
'
color
'
:
''
});
equals
(
node
.
getAttr
(
'
style
'
),
undefined
);
equals
(
node
.
getAttr
(
'
style
'
),
undefined
,
'
清空样式
'
);
node
.
setStyle
(
'
border
'
,
'
<script>alert("")</script>
'
);
equals
(
node
.
getAttr
(
'
style
'
),
"
border:<script>alert("")</script>;
"
);
equals
(
node
.
toHtml
(),
'
<div style=
\
"border:<script>alert("")</script>;
\
" ><div></div></div>
'
)
node
.
innerHTML
(
'
<div>asdfasdf<b>sdf</b></div>
'
)
equals
(
node
.
getAttr
(
'
style
'
),
"
border:<script>alert("")</script>;
"
,
'
脚本
'
);
equals
(
node
.
toHtml
(),
'
<div style=
\
"border:<script>alert("")</script>;
\
" ><div></div></div>
'
,
'
脚本转html
'
);
node
.
innerHTML
(
'
<div>asdfasdf<b>sdf</b></div>
'
)
;
node
.
removeChild
(
node
.
firstChild
(),
true
);
equals
(
node
.
toHtml
(),
'
<div style=
\
"border:<script>alert("")</script>;
\
" >asdfasdf<b>sdf</b></div>
'
)
equals
(
node
.
toHtml
(),
'
<div style=
\
"border:<script>alert("")</script>;
\
" >asdfasdf<b>sdf</b></div>
'
,
'
移除子节点
'
);
});
//getIndex
test
(
'
getIndex
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
div
'
);
node
.
innerHTML
(
'
<div>asdfasdf<b>sdf</b></div>
'
)
node
.
removeChild
(
node
.
firstChild
(),
true
);
var
tmp
=
new
UE
.
uNode
.
createElement
(
'
div
'
);
node
.
appendChild
(
tmp
);
equals
(
tmp
.
getIndex
(),
2
);
equals
(
tmp
.
getIndex
(),
2
,
'
节点索引
'
);
});
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录