innerhtml交换数组的简单介绍

http://www.itjxue.com  2023-01-04 18:39  来源:未知  点击次数: 

javascript 中使用innerHTML.replace 过程中的疑问

用正则表达式替换,下边是微软给的示例:

下面的示例演示了 replace 方法将第一次出现的单词 "The" 替换为单词 "A" 的用法。

function ReplaceDemo(){

var r, re; // 声明变量。

var ss = "The man hit the ball with the bat.\n";

ss += "while the fielder caught the ball with the glove.";

re = /The/g; // 创建正则表达式模式。

r = ss.replace(re, "A"); // 用 "A" 替换 "The"。

return(r); // 返回替换后的字符串。

}

另外, replace 方法也可以替换模式中的子表达式。 下面的范例演示了交换字符串中的每一对单词:

function ReplaceDemo(){

var r, re; // 声明变量。

var ss = "The rain in Spain falls mainly in the plain.";

re = /(\S+)(\s+)(\S+)/g; // 创建正则表达式模式。

r = ss.replace(re, "$3$2$1"); // 交换每一对单词。

return(r); // 返回结果字符串。

}

下面的示例(在 JScript 5.5 及更新版本中执行)执行的是从华氏到摄氏的转换,它演示了使用函数作为 replaceText。要想知道该函数是如何工作的,传递一个包含数值的字符串,数值后要紧跟 "F" (例如 "Water boils at 212")。

function f2c(s) {

var test = /(\d+(\.\d*)?)F\b/g; // 初始化模式。

return(s.replace

(test,

function($0,$1,$2) {

return((($1-32) * 5/9) + "C");

}

)

);

}

document.write(f2c("Water freezes at 32F and boils at 212F."));

javascript innerHTML 能不能用数组

楼主貌似是想把response的内容插入到数组的某个元素中而不是整个数组内吧?test.innerHTML=response;改成test[bb].innerHTML=response;是完全可以的,只要bb不溢出就可以了

script language="javascript" type="text/javascript"

var xmlHttp = false;

try {

xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try {

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e2) {

xmlHttp = false;

}

}

if (!xmlHttp typeof XMLHttpRequest != 'undefined') {

xmlHttp = new XMLHttpRequest();

}

function callServer(aa,cc) {

var url = "66.asp?name=" + aa;

bb=cc;

xmlHttp.open("GET", url, true);

xmlHttp.onreadystatechange = updatePage;

xmlHttp.send(null);

}

function updatePage() {

var test=document.getElementById("test"+bb);

if (xmlHttp.readyState 4) {

test.innerHTML="正在读取价格";

}

if (xmlHttp.readyState == 4) {

var response= xmlHttp.responseText;

test.innerHTML=response;

}

}

/script

input name="ProdId" type="type" size="20" maxlength="15" onClick="callServer();"/

input name="ProdId" type="button" onClick="callServer('20002718',0);" value="提交" size="20" maxlength="15"/

span id="test0"555/spanbr

input name="ProdId" type="type" size="20" maxlength="15" onClick="callServer();"/

input name="ProdId" type="button" onClick="callServer('20002718',1);" value="提交" size="20" maxlength="15"/

span id="test1"555/spanbr

批量增加资料,如何将 js 里变量的值传给 innerHTML 作为变量使用?

变量传给innerHTML实际上就是变量的拼接。

示例:

body

???div?id='divtest'/div

/body

script

var?i=1;

document.getElementById('divtest').innerHTML?=?"test"+i;//这里注意变量的拼接

document.getElementById('divtest').innerHTML?+=?"test2"+(i+1);//这里注意变量的拼接

/script

遍历数组时用innerhtml添加option标签

bug描述:

在ie下面使用innerHTML来插入option选项的话,ie会去掉前面的option,并拆分成多个节点,这样会造成select的出错,不是没有插进去,而是节点在转换时出问题了,微软对这个bug也有描述,并提供了两个解决方案,大家可以自己搜索一下,我大概提下微软的两个方案。

1,使用createElement,这个是正规渠道,要出错还真有问题了。

2,插入完整的select字符串,到div中。

实现:

原理:

既然是使用innerHTML的人,肯定是想用字符串来插入option了,这里主要就是解决这人人群,当然你也可以传入createElement对象来插入。

对于传入的参数会做个判断,看是elementObj还是字符串,如果是elementObj那么就使用标准的add方法加入,并做兼容处理。如果是字符串则使用div包装完整的select并转换成dom对象用appendChild来加入。

注意:

b$.type.isElement(arg)是bBank里面用来判断对象是否是element元素的方法

b$.browser.isIE()是bBank里面用来判断是否是ie的方法

b$.parseDom(str)是bBank里面用来转换字符串为标准dom的方法

js 将数组导入某元素innerHTML中

你想得到的结果是不是把数组中所有的值都列出来,然后用“,”分割

script language="javascript"

var mytext="";

var responseText = new Array(9);

var i;

i=0;

for(i=0;i=9;i++){

responseText[i]=i;

}

i=0;

for(i=0;i=9;i++){

if (i9) {

mytext=mytext+responseText[i];

mytext=mytext+",";

}

else{

mytext=mytext+responseText[i];

}

}

alert(mytext);

/script

得到“0,1,2,3,4,5,6,7,8,9”

javascript 数组innerHTML问题

发现问题所在了,因为你的Div写的不对。

你的DIV结构如下:

div class="div"

divAAA/div

divBBB/div

divCCC/div

divDDD/div

/div

通过document.getElementsByTagName("div")取到的对象有5个,而不是你期待的4个

temp[0] 其实等于 在外层的那个Div,因此上 temp[0].innerHTML += "append"; 已经把

整个第一层Div内部的元素全部改变了,成为以下:

div class="div"

divAAA/div

divBBB/div

divCCC/div

divDDD/div

append

/div

再往下的循环 temp[1] - temp[4] 实际上在页面上已经不存在了(在你保存的数组中存在,但是和页面上的不再是同一个Dom对象了),所以画面的表象就成了上面的样子,好像只累加第一个似的。如果去掉外面的那个Div,有以下的结果:

divAAAappend/div

divBBBappend/div

divCCCappend/div

divDDDappend/div

(责任编辑:IT教学网)

更多

相关通讯数据软件文章

推荐通讯数据软件文章