body.onmouselather over body什么意...

javascript - highlight a DOM element on mouse over, like inspect does - Stack Overflow
to customize your list.
Join the Stack Overflow Community
Stack Overflow is a community of 6.7 million programmers, just like you, helping each other.
J it only takes a minute:
We have a bookmarklet, and the user clicks a button and an inspect like highligther needs to kick in. We want to this to be cross browser.
For this we need to detect the DOM element during the mouse move, and once we have this element we need to highlight with CSS.
We have problems detecting the DOM element by mouse move, can you guide us how this is done?
Once we have this DOM element, on user click we need to extract XPath.
2,61854381
You can hook mousemove on document or document.body, then use the target property of the event object to find out the topmost element the mouse is over. Then applying CSS to it is probably most easily done by adding a class to it.
But I wonder if the
psuedo-class might save you some trouble...
If not using :hover, here's an example:
(function() {
if (document.body.addEventListener) {
document.body.addEventListener('mouseover', handler, false);
else if (document.body.attachEvent) {
document.body.attachEvent('mouseover', function(e) {
return handler(e || window.event);
document.body.onmouseover =
function handler(event) {
if (event.target === document.body ||
(prev && prev === event.target)) {
if (prev) {
prev.className = prev.className.replace(/\bhighlight\b/, '');
if (event.target) {
prev = event.
prev.className += " highlight";
514k88839977
With the help of jquery you can do something like this
$('*').hover(
function(e){
$(this).css('border', '1px solid black');
e.preventDefault();
e.stopPropagation();
},function(e){
$(this).css('border', 'none');
e.preventDefault();
e.stopPropagation();
With this code in your bookmarklet, you can load what ever code
javascript:function loadScript(src){f=document.createElement('script');if(f){f.setAttribute("type","text/javascript");f.setAttribute("src",src);document.getElementsByTagName("head")[0].appendChild(f);}};loadScript("yourscripturl");
6,52733260
Your Answer
Sign up or
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Post as a guest
By posting your answer, you agree to the
Not the answer you're looking for?
Browse other questions tagged
rev .25074
Stack Overflow works best with JavaScript enabled获取所有html:NSString *lJs = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerHTML"];
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerText"];
去除某个属性:
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.images[%d].removeAttribute("width")", i]];
修改图片的地址
[webView stringByEvaluatingJavaScriptFromString:@"document.images[0].src="/W.jpg";document.images[1].src="/W.jpg""];
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.images[%d].src="%@"", i, imageName]];
.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的对象,但我们不知道它现在长度是多少,所以没办法对它操作.因此,我们要先做判断长度的过程.如下:
if(oEle.length){}else{};
在两种情况下,花括号里面的内容写法也是不一样的:
if(oEle.length){
for(var i = 0 ;i&oEle.i++){
oEle[i].value..
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&
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 &
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 &
document.getElementByIdx_x_x_x_x("myRadio2").value 结果是 myVal2
转载自:.cn/s/blog_7fa6b06f0101kssl.html
本文来自麦芒实验室,转载请注明出处,谢谢合作。阅读排行榜
评论排行榜JS中document.body上的操作
可能感兴趣
123123123123123123轻松一下(44)12345678910
JS中document.body上的操作
阅读:4636&次 &&编辑日期:
上一篇文章说过document对象的操作,虽然有些乱,但是在大家在需要的时候查查就行了,今天说说document.body上的操作。
document.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.appendChild(oTag) //动态生成一个HTML对象
document.body对象中常用的事件:
document.body.onclick=”func()” //鼠标指针单击对象是触发
document.body.onmouseover=”func()” //鼠标指针移到对象时触发
document.body.onmouseout=”func()” //鼠标指针移出对象时触发
将本篇文章分享到:

我要回帖

更多关于 lather over body 的文章

 

随机推荐