jq如何识别标签元素

___紫菜 2015-10-15 02:26:12
比如有一下标签,每个都有点击事件,我点击一下任何一个事件的时候怎么判断是哪个标签的呢?我点击div的时候 它就显示是div点击a链接就显示a链接。就是判断我点击的是哪个标签。

<div></div>
<h2></h2>
<ul><li><a href=""></a></li></ul>
...全文
205 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
___紫菜 2015-10-16
  • 打赏
  • 举报
回复
引用 7 楼 showbo 的回复:
事件对象中e.target就是当前点击的对象
<div></div>
<h2></h2>
<ul><li><a href=""></a></li></ul>

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script>
    $(document).click(function (e) {
        alert(e.target.tagName)
    })
</script>
所嘎。就是这样。就是这玩意e.target.tagName!!!!谢谢啦、
Go 旅城通票 2015-10-15
  • 打赏
  • 举报
回复
事件对象中e.target就是当前点击的对象
<div></div>
<h2></h2>
<ul><li><a href=""></a></li></ul>

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script>
    $(document).click(function (e) {
        alert(e.target.tagName)
    })
</script>
zpjshiwo77 2015-10-15
  • 打赏
  • 举报
回复
下次问的时候,麻烦把问题描述清楚好么。 用jquery,each的方法 http://www.w3school.com.cn/jquery/traversing_each.asp
uajson 2015-10-15
  • 打赏
  • 举报
回复
你可以在动态生成html时,设置进去一个同样动态生成不重复的值作为标签id的后缀名
___紫菜 2015-10-15
  • 打赏
  • 举报
回复
引用 3 楼 zpjshiwo77 的回复:
那就用JS或jquery做不就行了么: js:<div onclick="change(this)"></div> <script> change(x){ this.style.background="#000"; } </script> jquery: <div id="div1"></div> <script> $("#div1").click(function(){ $("#div1").css("background","#000"); }); </script>
这是用js循环生成的html没有特定的id的。连事件都是循环绑定的,,有很多同级div和其他的标签。所以不能指定哪个元素的id进行设置。
zpjshiwo77 2015-10-15
  • 打赏
  • 举报
回复
那就用JS或jquery做不就行了么: js:<div onclick="change(this)"></div> <script> change(x){ this.style.background="#000"; } </script> jquery: <div id="div1"></div> <script> $("#div1").click(function(){ $("#div1").css("background","#000"); }); </script>
___紫菜 2015-10-15
  • 打赏
  • 举报
回复
引用 1 楼 zpjshiwo77 的回复:
你元素的点击事件就对应这个元素啊。 1.如果你用连接<a><div></div></a>就是点该块跳转;<a><p></p></a>就是点该段落跳转; 2.如果你用JS,在div里面声明onclick事件:<div onclick="function(this)"></div>,this取到的就是该div。 3.如果你用jquery,<div id="div1"></div>,$("#div1").click()就是点击该块触发的事件。
对啊 没错!正因为都被绑定了事件所以我才要做判断啊。比如我点的是a链接就要给a链接的字体变色 要是不是我就不变色。假如我点的是div我就要他隐藏但是如果不是就不隐藏。
zpjshiwo77 2015-10-15
  • 打赏
  • 举报
回复
你元素的点击事件就对应这个元素啊。 1.如果你用连接<a><div></div></a>就是点该块跳转;<a><p></p></a>就是点该段落跳转; 2.如果你用JS,在div里面声明onclick事件:<div onclick="function(this)"></div>,this取到的就是该div。 3.如果你用jquery,<div id="div1"></div>,$("#div1").click()就是点击该块触发的事件。
该版本引入了大量的新特性,包括: 1. 模块化 在jQuery 1.8.1中,您可以移除一些不需要的模块,以构建一个专属的jQuery版本。通过基于grunt的新构建系统,你可以轻松实现该功能。可以移除的模块包括ajax、css、dimensions、effects和offset。更多信息可参阅README file。 2. 根据浏览器为CSS属性加前缀 某些CSS属性前带有供应商前缀,这表明该属性还未纳入W3C标准。在jQuery 1.8.1中,可以采用无前缀的属性名,并自动生成适合当前浏览器的前缀。例如,在Chrome中,jQuery调用$("#myscroll").css("marquee-direction", "backwards")将设置为“-webkit-marquee-direction: backwards”。 3. 动画 在jQuery 1.8.1中,你可以更容易地添加或修改动画。新的“$.Animation”提供了坚实的基础,并修复了之前版本中的许多bug,以便你的动画能够支持老版浏览器。如果你的Web应用只针对现代浏览器,你可以完全移除animation模块。 4. CSS选择器引擎Sizzle jQuery 1.8.1中重写了选择器引擎,大大提升了性能。此外,选择器引擎Sizzle修复了一些边缘问题和bug,包括对于多个选择符(~ > +)的改进、更好地检测浏览器bug等。 5. XSS防护 $()方法可以创建HTML元素,如果被用来传递一个[removed]标签,则可以运行脚本。开发者有时会忘记这一点,将不受信任的源或用户输入的字符串传递到jQuery,就可能导致脚本注入,使攻击者可以窃取cookies或破坏页面。 jQuery 1.8.1引入了一个新的方法“$.parseHTML”。它可以让你指定HTML字符串,它们会被作为HTML解析,$()将作为选择器来解析字符串。“$.parseHTML”也提供了一种方式将HTML解析为DOM片段,并控制可能包含的任何脚本的执行。这对于由Content Security Policy (CSP)控制的JavaScript环境来说特别重要,因为注入的脚本可能导致安全警告或异常。 在1.9中,一些HTML字符串将不再会被$()识别。 6. 不建议使用或将移除的功能 $.browser:通过user agent字符串来检测浏览器不是一个好主意,在1.9中将完全移除该方法,不过你可以使用兼容插件。或者你可以试试Modernizr。 $.sub:该方法是在jQuery 1.5中引入的,但是被证明不是很有用,将被移到jQuery 1.9兼容性插件中。 全局AJAX事件:一些事件(如ajaxStart)可以被附加到不在一个文档中的任何元素中,这将导致效率低下。在1.9中,Ajax事件将只能附加到文档中。 7. 修正了1.8版本的BUG 提升性能。

87,917

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧