假设我在某一个html页面用鼠标随机选中了一个标签,这个标签可能没有ID,Name,class之类的参数。有没有方法在已经选中标签的基础上提取出数据,让我再次打开同一页面或者同结构的页面时,无需再次手动选择也能快速定位到该标签?
没有ID name class 之类的 只能靠XPath的位置定位了。
还可以根据标签名字定位 比如 p
无需再次手动选择也能快速定位到该标签 这句话没没看懂。。
是要类似 记忆上次阅读位置的功能吗?
给他添加onclick事件,写入对应函数F1,保存数据到localStorage;再写一个函数F2,每次打开页面调用F2,获取之前存放在localStorage中的数据,修改改标签的样式 为更加醒目的具有提示性的样式
有很多方法
比如xpath
jquery
没有id,可以用相互关系定位
比如
body/div[3]
定位body下第四个div
jquey里面也有 $("body').find('div:eq(3)');
监控整个body的click事件,从event.target获取触发事件的元素,接下来该干嘛干嘛
可以用事件监听 $(element) $(e.target)
document.querySelectorAll("div.questions_detail_con > dl > dd > p")[0].innerText
<!DOCTYPE html>
<html lang="ch">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<div id="div1" class="div1">
<div class="div2">
<div class="div3">
<div>
<p><span>span</span><button onclick="getbtn(event)">button</button></p>
</div>
</div>
</div>
</div>
<script>
function getbtn(event) {
let divtxt = ""
event.path.forEach(v => {
var idName = v.id?('#'+v.id.replace(/\s+/g,"#")):"";
var className = v.className?('.'+v.className.replace(/\s+/g,".")):"";
if(v.localName){
divtxt = v.localName + idName + className + " " + divtxt
}
});
console.log($(divtxt));
}
</script>
</body>
</html>