首页 > 代码库 > iOS中JS的操作
iOS中JS的操作
获取所有html:NSString *lJs = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerHTML"];
获取body:
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerText"];
去除某个属性:
[webView stringByEvaluatingJavaScriptFromString:[NSStringstringWithFormat:@"document.images[%d].removeAttribute("width")", i]];
修改图片的地址
[webView stringByEvaluatingJavaScriptFromString:@"document.images[0].src="http://www.baidu.com/W020110907540066716627.jpg";document.images[1].src="http://www.baidu.com/W020120807265226549111.jpg""];
[webView stringByEvaluatingJavaScriptFromString:[NSStringstringWithFormat:@"document.images[%d].src="http://www.mamicode.com/%@"",i, imageName]];
教程:
http://www.w3school.com.cn/htmldom/met_doc_getelementsbytagname.asp
Document对象内容集合
document 文挡对象 -JavaScript脚本语言描述
———————————————————————
注:页面上元素name属性和JavaScript引用的名称必须一致包括大小写
否则会提示你一个错误信息 “引用的元素为空或者不是对象\\\\\”
———————————————————————
对象属性
document.title //设置文档标题等价于HTML的title标签
document.bgColor //设置页面背景色
document.fgColor //设置前景色(文本颜色)
document.linkColor //未点击过的链接颜色
document.alinkColor //激活链接(焦点在此链接上)的颜色
document.vlinkColor //已点击过的链接颜色
document.URL //设置URL属性从而在同一窗口打开另一网页
document.fileCreatedDate //文件建立日期,只读属性
document.fileModifiedDate //文件修改日期,只读属性
document.fileSize //文件大小,只读属性
document.cookie //设置和读出cookie
document.charset //设置字符集 简体中文:gb2312
———————————————————————
常用对象方法
document.write() //动态向页面写入内容
document_createElement_x_x_x_x_x_x(Tag) //创建一个html标签对象
document.getElementByIdx_x_x_x_x_x_x(ID) //获得指定ID值的对象
document.getElementsByName(Name) //获得指定Name值的对象
document.body.a(oTag)
———————————————————————
body-主体子对象
document.body //指定文档主体的开始和结束等价于body>/body>
document.body.bgColor //设置或获取对象后面的背景颜色
document.body.link //未点击过的链接颜色
document.body.alink //激活链接(焦点在此链接上)的颜色
document.body.vlink //已点击过的链接颜色
document.body.text //文本色
document.body.innerText //设置body>…/body>之间的文本
document.body.innerHTML //设置body>…/body>之间的HTML代码
document.body.topMargin //页面上边距
document.body.leftMargin //页面左边距
document.body.rightMargin //页面右边距
document.body.bottomMargin //页面下边距
document.body.background //背景图片
document.body.a(oTag)//动态生成一个HTML对象
常用对象事件
document.body.onclick=”func()”//鼠标指针单击对象是触发
document.body.onmouseover=”func()” //鼠标指针移到对象时触发
document.body.onmouseout=”func()” //鼠标指针移出对象时触发
———————————————————————
location-位置子对象
document.location.hash// #号后的部分
document.location.host // 域名+端口号
document.location.hostname // 域名
document.location.href // 完整URL
document.location.pathname // 目录部分
document.location.port // 端口号
document.location.protocol // 网络协议(http:)
document.location.search // ?号后的部分
documeny.location.reload()//刷新网页
document.location.reload(URL) //打开新的网页
document.location.assign(URL) //打开新的网页
document.location.replace(URL) //打开新的网页
———————————————————————
selection-选区子对象
document.selection
———————————————————————
images集合(页面中的图象)
a)通过集合引用
document.images //对应页面上的img标签
document.images.length //对应页面上img标签的个数
document.images[0] //第1个img标签
document.images[i] //第i-1个img标签
b)通过nane属性直接引用
img name=”oImage”
document.images.oImage //document.images.name属性
c)引用图片的src属性
document.images.oImage.src //document.images.name属性.src
d)创建一个图象
var oImage
oImage = new Image()
document.images.oImage.src=http://www.mamicode.com/”1.jpg”
同时在页面上建立一个img /标签与之对应就可以显示
———————————————————————-
forms集合(页面中的表单)
a)通过集合引用
document.forms //对应页面上的form标签
document.forms.length //对应页面上/formform标签的个数
document.forms[0] //第1个/formform标签
document.forms[i] //第i-1个/formform标签
document.forms[i].length //第i-1个/formform中的控件数
document.forms[i].elements[j] //第i-1个/formform中第j-1个控件
b)通过标签name属性直接引用
/formform name=”Myform”>inputname=”myctrl”/>/form
document.Myform.myctrl //document.表单名.控件名
c)访问表单的属性
document.forms[i].name //对应form name>属性
document.forms[i].action //对应/formform action>属性
document.forms[i].encoding //对应/formform enctype>属性
document.forms[i].target //对应/formform target>属性
document.forms[i].a(oTag)//动态插入一个控件
document.all.oDiv //引用图层oDiv
document.all.oDiv.style.display=” //图层设置为可视
document.all.oDiv.style.display=”none” //图层设置为隐藏
document.getElementId(”oDiv”)//通过getElementId引用对象
document.getElementId(”oDiv”).style=”
document.getElementId(”oDiv”).display=”none”
图层对象的4个属性
document.getElementByIdx_x_x_x_x_x_x(”ID”).innerText //动态输出文本
document.getElementByIdx_x_x_x_x_x_x(”ID”).innerHTML //动态输出HTML
document.getElementByIdx_x_x_x_x_x_x(”ID”).outerText //同innerText
document.getElementByIdx_x_x_x_x_x_x(”ID”).outerHTML //同innerHTML
document.getElementsByName 和document.getElementsByTagName
当页面上的控件同名且多个的时候,从程序的严密角度出发,需要判断长度,而且有长度和没长度是两种引用方法.
oEle= document.all.aaa ;//这里有一个aaa的对象,但我们不知道它现在长度是多少,所以没办法对它操作.因此,我们要先做判断长度的过程.如下:
if(oEle.length){}else{};
在两种情况下,花括号里面的内容写法也是不一样的:
if(oEle.length){
for(var i = 0 ;i<oEle.length;i++){
oEle[i].value..
}
}
else{
oEle.value..
};
但是这样写是不是太复杂了点?而且当花括号里面的代码比较多的时候,我们要写两遍代码,晕了先~
还好有
document.getElementsByName()
这个方法.它对一个和多个的处理是一样的,我们可以用:
oEle = document.getElementsByName(‘aaa‘)
来引用
当oEle只有1个的时候,那么就是oEle[0],有多个的时候,用下标法oEle[i]循环获取,是不是很简单?
值得一提的是它对Name和ID的同样有效的. (它只能应用到document对象)
<div id=radiodiv language=javascript >
<INPUT name=radio1 value=http://www.mamicode.com/1"radio">
<INPUT name=radio1 value=http://www.mamicode.com/0"radio" CHECKED>
</div>
document.getElementsByName("radio1").item(0).value结果是 1
但是.相对应的,还有另一个方法,可以应用的对象会更广一点:
getElementsByTagName
<div id=radiodiv language=javascript >
<INPUT name=radio1 value=http://www.mamicode.com/1"radio" id=myRadio1>
<INPUT name=radio1 value=http://www.mamicode.com/0"radio" id=myRadio2 CHECKED >
</div>
radiodiv.getElementsByTagName_r("input").item(0).value结果是 1
,比如我知道了一个<DIV ID=‘aaa‘><input name=input1value=http://www.mamicode.com/1 type=radio >
aaa.getElementsByTagName_r(‘INPUT‘)
这样就有效的可以和别的DIV(比如说有个叫bbb的DIV,里面的也是一样的input)相区别.
同getElementsByTagName相对应,
还有一个document.body.all.tags()
能用这个方法的对象比getElementsByTagName要小得多.但比getElementsByName要多.
到这里我们还要提一下getElementById
它也是只有document对象才能使用,而且返回的是数组的第一个元素,呵呵,它的方法名都写明了是getElement而不是getElements
<div id=radiodiv language=javascript >
<INPUT name=radio1 value=http://www.mamicode.com/1"radio" id=myRadio1 >
<INPUT name=radio1 value=http://www.mamicode.com/0"radio" id=myRadio2 value="http://www.mamicode.com/myVal2" CHECKED >
</div>
document.getElementByIdx_x_x_x_x("myRadio2").value结果是 myVal2
iOS中JS的操作