
如果想去给这些并不是由你控制动态生成出来的元素绑定事件应该是不可能的。
但是可以给顶层的document绑定事件来判断点击的是哪个元素。
<!DOCTYPE html><html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=10">
<meta >
代码如下:
<html>
<head>
<meta >
在一个html页面生成的时候,js就已经把dom树创建好了
只要这棵树上有的数据,我们都可以通过js来获取使用
那么这个问题就变成js如何去查询dom树的节点了
js内置了以下几个查询节点的方法
1
2
3
documentgetElementById("id") //通过id来获取一个dom元素
documentgetElementsByName("name") //通过name属性来获取一个集合
documentgetElementsByTagName("tag") //通过标签来获取一个集合
如果要查找的元素本身有id,通过第一个方法可以直接获取,当我们得到了这个dom节点的时候就可以输出他的一系列数据了
举个栗子
1
2
3
4
5
6
7
8
9
10
11
12
var dom = documentgetElementById("id");
//如果是
alert(domsrc);
//如果该dom有class
alert(domclassName);
//如果该dom有value
alert(domvalue);
//如果该dom有文本
alert(dominnerHTML);
//输出dom的style
alert(domstylewidth);
//等等
当dom没有id的时候,我们就要依靠一些条件去找到我们想要的dom了
1
2
3
4
5
6
7
8
//寻找所有class为bold的div
var c = documentgetElementsByTagName("div"), len = clength, r = [];
for(var i=0;i<len;i++){
if(c[i]className == 'bold'){
rpush(c[i]);
}
}
//当得到了这些dom节点后,就可以用上面提到的方法继续访问每个dom的数据啦
是getElentsByTagName()
1,这里的Element后面是有个s的。
2,Tag后面有个Name,而且首字母大写。
3,由第一条知道,这里获取的是一组元素,即使这个页面上只有一个这样的标签,获取的还是一组,如果想单独访问每个元素,可以使用下标的方式。下标是从0开始的。
$("#btnAdd")click(function(){
$("<span/>")appendTo("#addTagDiv")html($("#textAdd")val())addClass("spanTag")click(function(){
//这里面的this就是当前这个span的dom元素
//$(this)就是当前span的jquery对象,你可以对他们进行任何 *** 作
//比如现在我就移除当前这个span
$(this)remove();
})
});
//最后整个代码的意思就是一个ID为btnAdd的元素单击时则追加一个span元素到ID为addTagDiv的元素内,该span的html为一个ID叫textAdd元素的value属性值。然后单击任何一个新增的span元素将会把这个span移除掉
//代码没有测试,如有问题请继续追问
以上就是关于如何 获取网页元素的xpath全部的内容,包括:如何 获取网页元素的xpath、jsoup教程、Chrome扩展如何获取JS动态生成的网页元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)