iOS中JS的操作

原文链接: http://www.cnblogs.com/zhanglei8831/p/5842681.html

获取所有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="%@"", 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=”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”>input name=”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=1 type="radio">

<INPUT name=radio1 value=0 type="radio" CHECKED>

</div>

document.getElementsByName("radio1").item(0).value 结果是 1

但是.相对应的,还有另一个方法,可以应用的对象会更广一点:

getElementsByTagName

<div id=radiodiv language=javascript >

<INPUT name=radio1 value=1 type="radio" id=myRadio1>

<INPUT name=radio1 value=0 type="radio" id=myRadio2 CHECKED >

</div>

radiodiv.getElementsByTagName_r("input").item(0).value 结果是 1

,比如我知道了一个<DIV ID='aaa'><input name=input1 value=1 type=radio ><input name=input1 value=2 type=radio>......</DIV>我要取DIV里面的所有input,这样写就可以了:

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=1 type="radio" id=myRadio1 >

<INPUT name=radio1 value=0 type="radio" id=myRadio2 value="myVal2" CHECKED >

</div>

document.getElementByIdx_x_x_x_x("myRadio2").value 结果是 myVal2  

转载于:https://www.cnblogs.com/zhanglei8831/p/5842681.html

猜你喜欢

转载自blog.csdn.net/weixin_30566063/article/details/94794826