18910140161

JavaScript-在jQuery中单击时如何获取HTML元素标记/文本?-堆栈溢出

顺晟科技

2022-10-18 13:53:27

174

我有一个上下文菜单,我想在其中使用某种方法,它会找到p/div,所以现在我只是记录,以便在单击时查看是否找到正确的元素。

HTML

<代码><;DIV>;你好,我是DIV<;/DIV>;<;P>;我是para<;span>;我是span在para<;内/span>;<;/p>;
代码
<div>Hello I'm div</div>

<p>I'm para <span>I'm span inside para</span></p>

它在输出

中给了我一个数组。段

var paraElm = $target.closest("p") if(paraElm){ console.log("i have selected the element is para",paraElm) }

log

内SPAN的

var paraElm = $target.closest("p") if(paraElm){ console.log("i have selected the element is para",paraElm) }

log

当我点击i have selected the element is para, n.fn.init [p.locked.sender, prevObject: n.fn.init(1), context: span.selected] 0: p.locked.sender context: span.selected length: 1 时,即使它在p标签

中,它也不应该记录。

更新#1:所以我做了一些更改,使用了一个条件来删除i have selected the element is para, n.fn.init [p.locked.sender, prevObject: n.fn.init(1), context: span.selected] 0: p.locked.sender context: span.selected length: 1 标记的Won t log,只是在JSFiddle中,它没有按预期工作,但按我预期的那样工作。

span
<代码><;script SRC=“ https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js ”>;<;/script>;<;DIV>;你好,我是DIV<;/DIV>;<;P>;我是para<;span>;我是span在para<;内/span>;<;/p>;


顺晟科技:

$(document).ready(function() {
  $("body").on('click', function(event) {
    var $target = $(event.target);

    var getElm = $target.closest('p');

    if (getElm.context.nodeName.toLowerCase() != 'span') {
      console.log("I got the element", getElm);
    }
  });
});
<代码><;script SRC=“ https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js ”>;<;/script>;<;DIV>;你好,我是DIV<;/DIV>;<;P>;我是para<;span>;我是span在para<;内/span>;<;/p>;

我做了一些更改,使用了一个条件来删除不会记录span标记,但正如我所期望的那样。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>Hello I'm div</div>

<p>I'm para <span>I'm span inside para</span></p>
<代码><;script SRC=“ https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js ”>;<;/script>;<;DIV>;你好,我是DIV<;/DIV>;<;P>;我是para<;span>;我是span在para<;内/span>;<;/p>;<;P>;我是第2段<;/p>;

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航