① html中的id怎么变为动态
你的意思是说ID可以动态改变吗?用js可以实现,但是不推荐这么做,因为ID在一个页面里是唯一的,变动的话可能会引发一些麻烦。如果你要操作样式的话建议改变class或者直接用style属性来做。
JS改变id值的写法是obj.id = "newid",这个obj就是相对应的HTML对象,比如以下HTML:
<div id="old">这是一个div</div>
那么JS的代码就是:document.getElementById("old").id="new";
详细说说你想要的效果,或许我说的结果并不是你想问的
② 有关java上传和File以及FileInputStream的区别
File不属于流,它只是用来屏闭不同文件系统,用来统一 描述文件的实体BEAN,new File时给它传入文件名称或是路径,它就会去根据参数查找对应的文件属性然后封装 成实体。用来处理判断该路径是一个文件还是路径,文件或路径的权限,修改时间等等,路径的子路径list等等目录操作。
File不属于文件流,只能代表一个文件或是目录的路径名而已.
而FileInputStream关注的是文件的内容,是用来进行文件读写等操作的二进制流类。大多数情况下,构造FileInputStream 时传递一个File对象做参数,也可以直接传递String的文件路径。
这个容易混淆的问题在FTP时候很容易出现,因为客户端点击浏览本地文件后在上传时在服务器端如果直接把客户端的 文件名称拿到,然后用new File(“文件名称路径”),再用new InputStream(File)来上传到FTP的话,其实就是相当于服务器 端在服务器本地找File(“文件名称路径”),然后往FTP上传,这是错误的。我们希望的是上传客户端的文件,而不是 服务器端的文件,所以这里应该是直接用apache的FileItem.getInputStream的结果直接upload,如下: InputStream fileIn = item.getInputStream();////如果直接写成这样new FileInputStream(filePath);就会出现在服务器本机找file上传的问题 //可以查看item.getInputStream()最后其实是从memoryOutputStream(内存里记忆的客户端文件流)来取流的句柄的。
③ 怎样将text转换成xml
js:
var xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(text);
//alert(xml.getElementsByTagName("...")[0].getAttribute("..."));
例:
<div id="i">
<?xml version="1.0" encoding="utf-8"?>
<root>
<pic xx="1" src="/images/1.gif">
<news newid="10" />
<news newid="11" />
<news newid="12" />
</pic>
<pic xx="2" src="/images/2.gif" />
<pic xx="3" src="/images/3.gif" />
<pic xx="4" src="/images/4.gif" />
</root>
</div>
function createXml(str) {
if ( document.all ) {
var xmlDom = new ActiveXObject("Microsoft.XMLDOM");
xmlDom.loadXML(str);
return xmlDom;
}
else {
return new DOMParser().parseFromString(str,"text/xml");
}
}
var text = document.getElementById("i").innerHTML.toLowerCase();
text = createXml(text);
alert( text.getElementsByTagName("pic").length );
但是这里的innerHTML会把页面获取的字符串中的标签自动修改格式,如标签名会转换成大写,属性中的id会由id="5"改成id=5,自动去掉了双引号,所以加上了toLowerCase,将字符串改成了小写。
不过这样不太标准,只能去问微软为什么要把innerHTML的东西格式都改了。
建议最好还是调用xml文件,比如将读取来的xml格式装入变量,将此变量的值赋到页面的div中,操作时不去读页面,而是直接去读那个变量。
④ js怎样获取iframe,src中的参数
/*
取得目标iframesrc所包含的参数
@paramiframeId-目标iframe的id
@returnObject参数名值对,{参数名:参数值,……}
*/
functiongetIframeParams(iframeId){
varregexpParam=/??([wd%]+)=([wd%]*)&?/g;//分离参数的正则表达式
vartargetEle=document.getElementById(iframeId);
varparamMap=null;
if(!!targetEle){
varurl=targetEle.src;//取得iframe的url
varret;
paramMap={};//初始化结果集
//开始循环查找url中的参数,并以键值对形式放入结果集
while((ret=regexpParam.exec(url))!=null){
//ret[1]是参数名,ret[2]是参数值
paramMap[ret[1]]=ret[2];
}
}
returnparamMap;//返回结果集
}
用法:
假设iframe如下
<html>
<head>
</head>
<body>
<iframeid="test"src="url?paramA=a¶mB=b"></iframe>
</body>
</html>
//获取参数名值对集合
varparamMap=getIframeParams('test');
//paramMap的结构是这样的:{'paramA':'a','paramB':'b'}
alert(paramMap.paramA);//取出paramA的参数值