动态创建元素并赋值的问题

liaoyukun111 2010-01-07 09:49:13
<body onload ="BtoS()">


<table ID=div1></table>
<script>
function BtoS() {
// var obj = "<font style ='display :none'>" + "aa" + "|</font>" + "bb";
//或者是 obj="aa|bb";
var obj = "aa|bb,a|a,b|b,c|cc";
var arr = obj.split(',');
var row = 2;
var col = 2;
var oTable = document.all.div1;
var temp = '';
for (var i = 0; i < row; i++) {
var _tr = oTable.insertRow(oTable.rows.length);
for (var j = 0; j < col; j++) {
var _td = _tr.insertCell(_tr.cells.length);
temp = arr[i * col + j];
_txt = document.createTextNode(temp);
_td.appendChild(_txt);
}
}
}
</script>
<%--现在的问题是:怎样修改JS的方法也可隐藏'|'前面的数据, --%>


</body>
一个单元格有两个值,其中一个被隐藏了
如上面所说:或都数据要做怎样的修改.功能实现就行
...全文
122 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liaoyukun111 2010-01-07
  • 打赏
  • 举报
回复
原来是这,算是知道了_td.innerHTML = "<font style ='display :none'>" + "aa" + "|</font>" + "bb";
正则,我再学下吧
liaoyukun111 2010-01-07
  • 打赏
  • 举报
回复
好,谢谢了,原理过会再看
wcwtitxu 2010-01-07
  • 打赏
  • 举报
回复

_td.innerHTML = escapeHTML(temp).replace(/[^|]*\|/, "<font style='display:none;'>$&<font>");


这里写错了

后面的 <font> 应该是 </font>
liaoyukun111 2010-01-07
  • 打赏
  • 举报
回复
正则看的不是很懂,但显示是没有值出现,不知你调试过没有
<body onload ="BtoS()">


<table ID=div1></table>
<script>
function escapeHTML(str) {
with (document.createElement("div")) {
appendChild(document.createTextNode(str));
return innerHTML;
}
}

function BtoS() {
// var obj = "<font style ='display :none'>" + "aa" + "|</font>" + "bb";
//或者是 obj="aa|bb";
var obj = "aa|bb,a|a,b|b,c|cc";
var arr = obj.split(',');
var row = 2;
var col = 2;
var oTable = document.all.div1;
var temp = '';
for (var i = 0; i < row; i++) {
var _tr = oTable.insertRow(oTable.rows.length);
for (var j = 0; j < col; j++) {
var _td = _tr.insertCell(_tr.cells.length);
temp = arr[i * col + j];
// _txt = document.createTextNode(temp);
// _td.appendChild(_txt);
_td.innerHTML = escapeHTML(temp).replace(/[^|]*\|/, "<font

style='display:none;'>$&<font>");

}
}
}
</script>



</body>
wcwtitxu 2010-01-07
  • 打赏
  • 举报
回复

function escapeHTML(str) {
with (document.createElement("div")) {
appendChild(document.createTextNode(str));
return innerHTML;
}
}

---------------------------------------------------
_txt = document.createTextNode(temp);
_td.appendChild(_txt);
改为
_td.innerHTML = escapeHTML(temp).replace(/[^|]*\|/, "<font style='display:none;'>$&<font>");

liaoyukun111 2010-01-07
  • 打赏
  • 举报
回复
这个是C#的,已经实现了
动态创建元素,并给赋值的问题

前提:
<table ID=div1 runat=server ></table>
给这个表格添加元素,aa|bb这是一个单元格的内容,bb前的内容隐藏起来
实现1:

protected void Page_Load(object sender, EventArgs e)
{
HtmlTableRow tr = new HtmlTableRow();
HtmlTableCell tc = new HtmlTableCell();
tc.InnerHtml = "<font style ='display :none'>" + "aa" + "|</font>" + "bb";

tr.Controls.Add(tc);
div1.Rows.Add(tr);
}
上面一个成功.
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2010-01-07 09:49
社区公告
暂无公告