相关疑难解决方法(0)

Javascript获取节点的XPath

无论如何在Javascript中返回一个DOM元素的XPath字符串?

javascript xpath dom

54
推荐指数
6
解决办法
5万
查看次数

获取单击的<a>的DOM路径

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获取此信息?

html javascript jquery dom css-selectors

24
推荐指数
3
解决办法
3万
查看次数

获取选择器的元素路径

遇到麻烦,基本上试图创建一个可以用作选择器的变量.例如

$('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)

非常感谢!

jquery xpath dom element

7
推荐指数
2
解决办法
8304
查看次数

在webdriver.io中查找父元素

我在原始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)

任何帮助将不胜感激.

webdriver-io

6
推荐指数
1
解决办法
5151
查看次数

获得独特的选择器jQuery

我需要能够为页面上的每个元素获取一个unqiue选择器.

例如,当我点击一个元素时,我想做这样的事情:

$(document).click(function(){
    var sel = getUniqueSel(this);
});
Run Code Online (Sandbox Code Playgroud)

因此,在将sel值存储在DB中之后,我可以获取该值并只需访问该元素

var el = $(sel);

我不能改变,也不知道页面的HTML结构,我不能简单地为每个元素添加唯一的ID(使用JS),因为这样效率很低.

javascript jquery jquery-selectors

5
推荐指数
1
解决办法
1912
查看次数

一旦丢失,如何在媒体编辑器中替换选择?

我试图添加一个扩展,取代媒体编辑器中的现有链接功能,以允许我有一个文件列表和其他自定义位.问题是,一旦我显示模态并且你在其中做了一些改变,原始选择就会丢失.插入代码的示例,看起来与主脚本使用的同一个,我只编辑允许选择对象作为第二个参数传入.

我所做的是在按钮上单击显示模态,设置一些输入,从基础中获取选择(与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)

javascript medium-editor

4
推荐指数
1
解决办法
1788
查看次数