Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JQuery最近的属性返回未定义的

JQuery最近的属性返回未定义的
EN

Stack Overflow用户
提问于 2016-03-14 04:17:47
回答 4查看 655关注 0票数 1

我一直在看其他一些例子,但不幸的是,它们并不完全相同。我正在尝试删除一些数据点击(这里省略了这部分,只需要id )。问题是它返回我想要的id的未定义的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 function deleteMessage(){
    var $currentId = $(this).closest(".ulrecords").attr('id');
    alert("ID: " + $currentId)
 }

调用该方法的步骤如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<a href="javascript:deleteMessage();" id="amessage">

HTML看起来如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<ul class="chat-messages">
  <ul id="msg_1234567890_a1bs2e" class="ulrecords">
   <li>
     John
     <span>27 minutes ago</span>
      <a href="javascript:deleteMessage();" id="amessage"> X</a>
    </li>
    <li id="limessage">
       Some message here
    </li>
  </ul>
  <ul id="msg_9234742878_73bhad" class="ulrecords">
   <li>
     John
     <span>28 minutes ago</span>
      <a href="javascript:deleteMessage();" id="amessage"> X</a>
    </li>
    <li id="limessage">
       Some other message here
    </li>
  </ul>
</ul>

所以当我点击其中一个ul的时候,我想得到希望,任何人都可以给我指明正确的方向

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-03-14 04:21:40

因为在您的情况下,this是窗口。

要么传入对您单击的元素的引用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<a href="javascript:deleteMessage(this);" id="amessage">

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function deleteMessage(elem){
    var $currentId = $(elem).closest(".ulrecords").attr('id');
    alert("ID: " + $currentId)
}

或者更好的是,使用eventListeners附加事件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).on("click", ".ulrecords", function () {
    alert(this.id);
});

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).on("click", ".ulrecords a", function () {
    var $currentId = $(this).closest(".ulrecords").attr('id');
});

ids也是单数的。

票数 5
EN

Stack Overflow用户

发布于 2016-03-14 04:26:34

您正在通过href链接调用该方法,该链接不设置要单击的元素的执行上下文。为了获得正确的元素,不要通过href调用该方法,而是向其附加一个单击处理程序。现在,您的锚有重复的ID,这是一个完全不同的问题,您需要修复。

我正在向示例中的所有锚添加一个类,以便使用jQuery轻松地选择它们。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<a href="javascript:deleteMessage();" class="my-button">X</a>

和JavaScript:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(function () {
    $(document).on("click", ".my-button", function () {
        var $currentId = $(this).closest(".ulrecords").attr('id');
        alert("ID: " + $currentId);
    });
});
票数 0
EN

Stack Overflow用户

发布于 2016-03-14 04:28:41

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function() {
  $('.delmsg').click(function() {
   alert($(this).parent().parent('ul').attr('id'));
  });
});
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="chat-messages">
  <ul id="msg_1234567890_a1bs2e" class="ulrecords">
   <li>John <span>27 minutes ago</span> <a href="javascript:deleteMessage();" class="delmsg">X</a></li>
   <li id="limessage">Some message here</li>
  </ul>
  <ul id="msg_9234742878_73bhad" class="ulrecords">
   <li>John <span>28 minutes ago</span> <a href="javascript:deleteMessage();" class="delmsg">X</a></li>
   <li id="limessage">Some other message here</li>
  </ul>
</ul>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35987351

复制
相关文章
jquery data属性的使用
var func=function(){console.log("test")}; $("div").data("test",func); $("div").data("test")(); 输出结果是test 注意:data方法是jquery中的方法不是原生js里面的方法 js原生的dataset方法 var func=function(){console.log("test")}; var a = document.createElement("div"); a.dataset.test=func; a.
windseek
2018/05/15
1.2K0
jQuery解析ajax 返回的json
一、controller /** * 检查预订开始时间和结束时间的合法性 * @param startTime * @param endTime * @return */ @RequestMapping(value = "checkTime") @ResponseBody public String checkTime(String startTime, String endTime) { int space=Time
week
2018/08/24
2.4K0
Java-方法重载时 调用未定义的对象属性
public class TestWayReload { int id; String name; String pwd; public TestWayReload(){ System.out.println(“Hellow World!”); System.out.println("################"); }
Fisherman渔夫
2019/07/30
5.5K0
jquery中各个属性的应用
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>jquery_shuxing.html</title> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ //ad
闵开慧
2018/03/30
9550
jquery 标签中的属性操作
.arrt() 获取匹配的元素集合中的第一个元素的属性值,或设置每一个元素中的一个或多个属性值。 .attr(attributeName) $("em").attr("title"); q获取“em”集合中的第一个em 的title值。 .attr(attributeName,value) attributeName 要设置的属性名 value 这个属性设置的值 $("#greatp").attr('alt','she zhi shu xing zhi')
用户1197315
2018/01/19
1.6K0
JQuery的属性操作及事件
①data():在元素本身是看不到设置的属性(不会更改DOM结构),但是该属性是存在的,且可以获取输出
申小兮
2023/04/18
1.7K0
JQuery的属性操作及事件
jQuery 属性操作
​ jQuery 常用属性操作有三种:prop() / attr() / data() ;
梨涡浅笑
2022/05/08
1.8K0
jQuery 属性操作
jQuery 常用属性操作有三种:prop() / attr() / data() ;
清出于兰
2020/10/26
1.2K0
jQuery 属性操作
jQuery 常用属性操作有三种:prop() / attr() / data() ;
星辰_大海
2020/10/09
1.5K0
jQuery 属性操作
Jquery的属性操作和DOM操作
       3 val()    :     获取或设置表单内容    (原生JS使用value)
用户3159471
2018/09/13
1.4K0
Jquery的属性操作和DOM操作
jQuery点击返回顶部
<div class="backtop" href="javascript:;"> <img id="to_top" title="回顶部" style="width: 50px;" src="https://cdn.suoluomei.com/public/paparela/static/image/dingbu.png" alt="置顶图标"> </div> $(document).ready(function(){ //为当前窗口添加滚动条滚动事件 $
明知山
2020/09/03
6.1K0
jQuery原理(原型上的属性、方法)
jQuery存在两个each方法,一个类方法,一个对象方法。当实现类方法时,只需要让对象方法调用类方法即可实现。
Dreamy.TZK
2020/06/23
9710
JQuery笔记(二) animate支持的属性
以常见的图片切换效果对animate的动画做了实验,用了两种方式,一种是修改相对位置,一个是修改背景的位置,结果第一种可以,第二种失败。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equ
用户1075292
2018/01/23
8820
JQuery笔记(二) animate支持的属性
jQuery源码研究:jQuery原型对象上的属性方法(下)
each()方法:为每个匹配的元素集合执行回调函数,是一个jQuery版的遍历方法。
前端_AWhile
2019/08/29
8790
jQuery源码研究:jQuery原型对象上的属性方法(上)
今天看下简化框架的第二部分:line: (146 - 225) 为jQ对象添加一些方法和属性。
前端_AWhile
2019/08/29
1.1K0
三、jQuery属性操作
2、如何操作属性 对象.属性名称 = 值 对象.属性名称 对象[‘属性名称’] = 值 对象[‘属性名称’] Javascript
Dreamy.TZK
2020/06/16
3.8K0
三、jQuery属性操作
jquery当中获取某个属性值的方法
例 1.6(attr.html) <html> <head> <title>attr(name)方法</title> <style type="text/css"> <!-- em{     color:#0000ff; } --> </style> <script language="javascript" src="jquery.min.js"></script> <script language="javascript"> $(function(){     var sContent = $("em:eq(1)").attr("content");    //获取第二个<em>元 素的title属性值     $("span").text(sContent);  //将sContent的内容放在<span>标签内 }); </script> </head> <body> <p>我们马克-to-win<em content="javaC">java</em>有段时间了</p> <p>javascript<em content="javascriptC">刚学</em>所以难</p> <p>Content属性的值是:<span></span></p> </body> </html>
马克java社区
2021/02/01
3.8K0
jquery当中获取某个属性值的方法
jQuery基础--jQuery特殊属性操作
区别:html方法会识别html标签,text方法会那内容直接当成字符串,并不会识别html标签。
eadela
2019/09/29
2.1K0
jquery根据属性选择
有信仰的人不会孤独。——阿列克谢耶维奇 分享一个jquery选择器的小技巧 我们可以通过自定义属性键值选中一个元素 例如如下元素: <div ruben="vampire">阿超</div> 然后我们通过ruben=vampire选中这个div 就可以如下写法: let vampire = $('div[ruben="vampire"]') 我们可以简单测试一下输出里面的内容 <div ruben="vampire">阿超</div> <script type="text/javascript">
阿超
2022/08/17
1.9K0
jquery根据属性选择
jQuery实现返回顶部功能[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158396.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/14
2K0
jQuery实现返回顶部功能[通俗易懂]

相似问题

JQuery最近()返回未定义的

24

jQuery最近返回未定义

41

jquery/js最近().attr()返回未定义的

53

数组中的Jquery最高最近值返回未定义的

10

是否最近更改了jQuery属性返回类型?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文