HTML
<body>
<div class="lol">
<a class="rightArrow" href="javascriptVoid:(0);" title"Next image">
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
伪代码
$(".rightArrow").click(function() {
rightArrowParents = this.dom(); //.dom(); is the pseudo function ... it should show the whole
alert(rightArrowParents);
});
Run Code Online (Sandbox Code Playgroud)
提醒信息将是:
身体div.lol a.rightArrow
我如何使用javascript/jquery获取此信息?
遇到麻烦,基本上试图创建一个可以用作选择器的变量.例如
$('a').click(function(){
var selector = $(this).dompath();
});
Run Code Online (Sandbox Code Playgroud)
HTML:
html
body
div
div /div
/div
ul
li
li
/ul
div
ul
li
li
li hello world
/ul
/div
body
html
Run Code Online (Sandbox Code Playgroud)
这将返回类似的东西
path = html body div ul li:contains('hello world')
Run Code Online (Sandbox Code Playgroud)
然后我可以在选择器中使用它来选择这个div,所以如果我喜欢
$(path).text() would return "hello world"
Run Code Online (Sandbox Code Playgroud)
非常感谢!
我在原始webdriver中看到了几个使用getAttribute('xpath')并附加到'/ ..'的解决方案,但webdriver.io没有xpath属性,所以我无法使用它.关于如何抓取父元素的任何想法?
我试图测试的情况是在引导程序布局中,实际上我正在尝试检查的类的元素是上面的一个.它看起来像这样:
<div class="form-group">
<input class="form-control" type="text" name="username">
<other stuff>
</div>
Run Code Online (Sandbox Code Playgroud)
我通过driver.element选择("input [name ='username'"],但错误类实际上击中了div
<div class="form-group error">
<input class="form-control" type="text" name="username">
<other stuff>
</div>
Run Code Online (Sandbox Code Playgroud)
所以我需要检查div本身是否有错误类,而不是我能找到的输入(div上没有uniques)
任何帮助将不胜感激.
我需要能够为页面上的每个元素获取一个unqiue选择器.
例如,当我点击一个元素时,我想做这样的事情:
$(document).click(function(){
var sel = getUniqueSel(this);
});
Run Code Online (Sandbox Code Playgroud)
因此,在将sel值存储在DB中之后,我可以获取该值并只需访问该元素
var el = $(sel);
我不能改变,也不知道页面的HTML结构,我不能简单地为每个元素添加唯一的ID(使用JS),因为这样效率很低.
我试图添加一个扩展,取代媒体编辑器中的现有链接功能,以允许我有一个文件列表和其他自定义位.问题是,一旦我显示模态并且你在其中做了一些改变,原始选择就会丢失.插入代码的示例,看起来与主脚本使用的是同一个,我只编辑允许选择对象作为第二个参数传入.
我所做的是在按钮上单击显示模态,设置一些输入,从基础中获取选择(与window.getSelection()相同)将其保存到扩展对象.然后单击模态中的保存按钮我使用代码插入示例中的函数,传递选择.然而,选择已经改变,所以我猜它是一个参考或每次都可能计算,所以我不知道如何让它工作.
这是代码,我删掉了不相关的位:
function MediumLink() {
var self = this;
this.parent = true;
//...button init
this.modalSubmit.addEventListener('click', function () {
//the linkSel is no longer what I set it to here
console.log(self.linkSel);
self.insertHtmlAtCaret('<a href="' + self.modalHref.value + '">' + self.modalName.value + '</a>', self.linkSel);
//... hide and reset modal
}, false);
//https://github.com/jillix/medium-editor-custom-html
this.insertHtmlAtCaret = function (html, sel) {
if (sel === undefined) {
sel = window.getSelection();
}
//..rest of this function is unchanged from example
};
}
MediumLink.prototype.onClick …Run Code Online (Sandbox Code Playgroud)