|zyciis| 当我给一个DIV赋内容的时候,再去读取他,但他就变成了html形式的了,那我如何对比他和我赋值的是否一样 谢谢 急 给img一个名字,用id来比对! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 div1.innerHTML="<img src='alert.gif' align='absmiddle' />";if(div1.innerHTML.replace("http://localhost:8080/","")=="<img src='alert.gif' align='absmiddle' />"){} //但这里得到的是false//然后我用alert(div1.innerHTML)//发现他变为"<img src='http://localhost:8080/alert.gif' align='absmiddle' />" 我不知道lz具体想做的业务是什么,但是想lz这样比较innerHTML的内容的用的很少,lz完全可以比较其他的属性得到同样的结果.比如比较img的id或name之类的. 或者说,我如何知道我的<img src='alert.gif' align='absmiddle' />在div.innerHTML里面会变成什么样子在js中有哪个方法呢谢谢 可以将通过div1.innerHTML这种方式得到的img的本地代码:"<img src='http://localhost:8080/alert.gif' align='absmiddle' />"判断出,src的值,将其src中的网络路径干掉,然后拼接出来。代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title></head><body><div id="div1"></div> <script type="text/javascript"> document.getElementById("div1").innerHTML="<img src=\"s.jpg\" align=absmiddle />"; var t = document.getElementById("div1").childNodes[0]; alert("改变前:"+t.outerHTML); var t1 = t.outerHTML.split("http://")[1].split('/'); var t2 = t1[t1.length - 1]; var imgStr = t.outerHTML.split("http://")[0] + t2; alert("改变后:" + imgStr); </script></body></html> 才记起来。 地址是会变的 - -给LZ个正则吧。。var ts="<img src='http://localhost:8080/alert.gif' align='absmiddle' />";reg=new RegExp("^.*(http:\/\/[^\/]*\/).*$");reg.test(ts);if(ts.replace(RegExp.$1,"")=="<img src='alert.gif' align='absmiddle' />")alert('成功了'); 先谢谢楼上各位,但这种方法还是不好----------------------------------------如我先说一下我的环境首先我会给div.innerHTML赋一些数据如"<img src='http://localhost:8080/alert.gif' align='absmiddle' />"; 这里只是比如,数据由用户自己去定的然后我又会对这个Div.innerHTML进行某些操作或不操作最后我要判断DIV.innerHTML里面的内容是否还是我最初给他赋值的内容所以上面说的用正则的也不然解决我的问题,如用户又加了地址而给正则掉过滤了,那也不对本来我想用var ts = "<img src='http://localhost:8080/alert.gif' align='absmiddle' />"; div.innerHTML=ts;ts=div.innerHTML;但我的ts还是没有改变我想应该是div显示完成的时候他才更改他的innerHTML那有没有什么办法我预先知道我的"<img src='http://localhost:8080/alert.gif' align='absmiddle' />"; 在div.innerHTML里面会变成什么样子然后我就可以用var ts = "<img src='http://localhost:8080/alert.gif' align='absmiddle' />"; ts=GetDivInnerHTMLTemplate(ts);//这里得到DIV内容会变成的html样子div.innerHTML=ts;.... //其他操作if(div.innerHTML==ts){ //这样来判断应该就OK了 //那上面的GetDivInnerHTMLTemplate()如何来写呢} 那你在页面上偷偷的放一个div2,设置为隐藏!无论div1怎么操作,反正div2中就是你放进去的原始值,而且已经到了页面上,已经变成客户端值了。这样,你就可以比较div1中的innerHTML与div2的innerHTML值,是否相等!就可以判断出,div1是否被操作过了!代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title></head><body><div id="div1"></div><div id="div2" style="display:none"></div> <script type="text/javascript"> document.getElementById("div1").innerHTML = "<img src=\"s.jpg\" align=absmiddle />"; document.getElementById("div2").innerHTML = "<img src=\"s.jpg\" align=absmiddle />"; if (document.getElementById("div1").innerHTML == document.getElementById("div2").innerHTML) { alert("值没有改变!"); } </script></body></html> <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>新建网页 1</title></head><body><div id=div1> </div><div id=hiddiv style="visibility:hidden;position:absolute;top:9999px;left:-9999px;"> </div><script language="javascript"><!--hiddiv.innerHTML=div1.innerHTML="<img src='alert.gif' align='absmiddle' /><br>等等等等等等";if(div1.innerHTML==hiddiv.innerHTML){alert(div1.innerHTML);alert("OK")}//--></script></body></html> <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>新建网页 1</title></head><body><div id=div1> </div><div id=hiddiv style="visibility:hidden;position:absolute;top:999px;left:-9999px;"> </div><script language="javascript"><!--hiddiv.innerHTML=div1.innerHTML="<script defer>var ttt=0</script><img src='alert.gif' align='absmiddle' /><br>等等等等等等";if(div1.innerHTML==hiddiv.innerHTML){alert(div1.innerHTML);alert("OK")}//--></script></body></html> 收缩式的菜单为什么有的点击时行有的点击没反映?请朋友们指点! javascript javascript 正则表达式^的用法 求一个Dhtml+css的模拟xp风格的按钮 客户端中如何限制文本框的输入文本不包含javascript代码? 怎么样在textarea中插入图片? 简单问题,history select下拉匡重新构造? 请问,使用javascript可以取得客户端的硬件信息吗? javascript中怎样引用html中的xml数据岛!!!复者有份!!!!!!! ***帮忙给一段任何浏览器都能正常显示的日历代码吧*** 检查除中英文数字以外的其他字符~
if(div1.innerHTML.replace("http://localhost:8080/","")=="<img src='alert.gif' align='absmiddle' />"){} //但这里得到的是false
//然后我用
alert(div1.innerHTML)
//发现他变为"<img src='http://localhost:8080/alert.gif' align='absmiddle' />"
<img src='alert.gif' align='absmiddle' />
在div.innerHTML里面会变成什么样子
在js中有哪个方法呢
谢谢
判断出,src的值,将其src中的网络路径干掉,然后拼接出来。
代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<div id="div1"></div>
<script type="text/javascript">
document.getElementById("div1").innerHTML="<img src=\"s.jpg\" align=absmiddle />";
var t = document.getElementById("div1").childNodes[0];
alert("改变前:"+t.outerHTML);
var t1 = t.outerHTML.split("http://")[1].split('/');
var t2 = t1[t1.length - 1];
var imgStr = t.outerHTML.split("http://")[0] + t2;
alert("改变后:" + imgStr);
</script>
</body>
</html>
给LZ个正则吧。。
var ts="<img src='http://localhost:8080/alert.gif' align='absmiddle' />";
reg=new RegExp("^.*(http:\/\/[^\/]*\/).*$");
reg.test(ts);
if(ts.replace(RegExp.$1,"")=="<img src='alert.gif' align='absmiddle' />")
alert('成功了');
----------------------------------------
如我先说一下我的环境
首先我会给div.innerHTML赋一些数据
如"<img src='http://localhost:8080/alert.gif' align='absmiddle' />";
这里只是比如,数据由用户自己去定的
然后我又会对这个Div.innerHTML进行某些操作或不操作
最后我要判断DIV.innerHTML里面的内容是否还是我最初给他赋值的内容所以上面说的用正则的也不然解决我的问题,如用户又加了地址而给正则掉过滤了,那也不对本来我想用var ts = "<img src='http://localhost:8080/alert.gif' align='absmiddle' />";
div.innerHTML=ts;
ts=div.innerHTML;但我的ts还是没有改变
我想应该是div显示完成的时候他才更改他的innerHTML
那有没有什么办法我预先知道我的
"<img src='http://localhost:8080/alert.gif' align='absmiddle' />";
在div.innerHTML里面会变成什么样子
然后我就可以用var ts = "<img src='http://localhost:8080/alert.gif' align='absmiddle' />";
ts=GetDivInnerHTMLTemplate(ts);//这里得到DIV内容会变成的html样子
div.innerHTML=ts;
.... //其他操作
if(div.innerHTML==ts)
{
//这样来判断应该就OK了
//那上面的GetDivInnerHTMLTemplate()如何来写呢
}
这样,你就可以比较div1中的innerHTML与div2的innerHTML值,是否相等!就可以判断出,div1是否被操作过了!
代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<div id="div1"></div><div id="div2" style="display:none"></div>
<script type="text/javascript">
document.getElementById("div1").innerHTML = "<img src=\"s.jpg\" align=absmiddle />";
document.getElementById("div2").innerHTML = "<img src=\"s.jpg\" align=absmiddle />"; if (document.getElementById("div1").innerHTML == document.getElementById("div2").innerHTML) {
alert("值没有改变!");
}
</script>
</body>
</html>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
</head><body>
<div id=div1> </div>
<div id=hiddiv style="visibility:hidden;position:absolute;top:9999px;left:-9999px;"> </div><script language="javascript">
<!--
hiddiv.innerHTML=div1.innerHTML="<img src='alert.gif' align='absmiddle' /><br>等等等等等等";
if(div1.innerHTML==hiddiv.innerHTML){alert(div1.innerHTML);alert("OK")}//-->
</script>
</body></html>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
</head><body>
<div id=div1> </div>
<div id=hiddiv style="visibility:hidden;position:absolute;top:999px;left:-9999px;"> </div><script language="javascript">
<!--
hiddiv.innerHTML=div1.innerHTML="<script defer>var ttt=0</script><img src='alert.gif' align='absmiddle' /><br>等等等等等等";
if(div1.innerHTML==hiddiv.innerHTML){alert(div1.innerHTML);alert("OK")}//-->
</script>
</body></html>