如何使用jQuery查找活动标签格式

How to find active tag formats using jQuery?

本文关键字:标签 格式 活动 查找 何使用 jQuery      更新时间:2023-09-26

我有一个示例代码的情况如下:

<html>
  <head>
    <title>Untitled Document</title>
  </head>
  <body>
    <p>
      <h1>The header</h1>
      <div>
        matter ia always matter matter ia <strong>bold matter</strong> matter matter <em>italics matter</em>matter ia <em><strong>bold italics matter</strong></em>lways matter
      </div>
    </p>
  </body>
</html>

我只是试图检索特定的标签,如body->p->div->em->strong,当我点击"bold italics matter"使用jQuery。是否有任何标准的方法来检索每个点击事件?

如果你想获得被点击元素的标签名,那么你可以使用:

$('*').click(function(e) {
    e.stopPropagation();
    console.log($(this).prop('tagName'));    
});
<<p> 小提琴演示/strong>

我不完全确定你想要完成什么。如果您试图检索包含文本的标签本身,我建议您在有问题的文本周围放置<span>标签,并执行onclick="function()"或简单地将onclick放在<strong>标签上。

就JQuery/Javascript而言,如果您想检索内容,它看起来像

var foo = document.getElementById.innerHTMl("id");

然而,这需要你在你的标签中有一个id,这可能是最好的,如果没有的话检索标签内内容的"标准"方法。

看了你的评论后,我编辑了这篇文章:获取父元素的最佳方法是使用JQUery .parent()函数。我想象你会递归地声明这样的东西:
var foo = $("nameofelement").parent();

感谢大家的贡献。最后,我用下面的代码自己制作了它。

$(document.body).click(function(e){
    var Tags=[], Target=e.target, stat_msg="";
    Tags.push(Target.tagName);
    while($(Target).parent().get(0).tagName!=="BODY")
    {
        Tags.push($(Target).parent().get(0).tagName);
        Target=$(Target).parent();
    }
    Tags.push("BODY");
    for(i=Tags.length;i>0;i--)
        stat_msg=stat_msg+Tags[i-1]+" ";
    alert(stat_msg);
});