首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用Jquery访问.html()上的html元素?

如何使用Jquery访问.html()上的html元素?
EN

Stack Overflow用户
提问于 2015-10-07 15:34:46
回答 4查看 67关注 0票数 1

下面是我想要添加的html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <div id="people">

这是我的脚本,当点击按钮时,它的文本将会改变

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <script>
 $(document).ready(function(){
 $.ajax({
 type: "POST",
 url: "response1.php",
 dataType: "json",
 success: function(JSONObject) {
   var peopleHTML = "";

  // Loop through Object and create peopleHTML
  for (var key in JSONObject) {
    if (JSONObject.hasOwnProperty(key)) {
        peopleHTML += "<div class='col-lg-3 col-md-3 col-xs-3'   
   style='padding-top:10px;'>";
  peopleHTML += "<div class='box'>";
   peopleHTML += "<div class='row'>";
    peopleHTML += "<h3>" + JSONObject[key]["name"] + "</h3>";
    peopleHTML += "<div class='col-xs-12'>";
    peopleHTML += "<p>"+JSONObject[key]["gender"]+"</p>";   
    peopleHTML += "</div>";
    peopleHTML += "<button class='btn btn-primary' id='cris'>
   CLICK ME</button>";
    peopleHTML += "</div>";
    peopleHTML += "</div>";
    peopleHTML += "</div>";        }
  }

  // Replace table’s tbody html with peopleHTML

  $("#people").append(peopleHTML);

 $('#cris').click(function(){
event.preventDefault();
$(this).text('I CHANGE');
});
}
});

});
 </script>

我怎样才能访问我添加的html元素,这样点击功能才能工作?我还使用了json来获取数据库中的数据。

EN

回答 4

Stack Overflow用户

发布于 2015-10-07 15:43:57

如果.on()方法不起作用,您可以尝试这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('body').on('click', '#cris', function(event) {
    event.preventDefault();
    $(this).text('I CHANGE');
});

这种方法无论如何都应该有效,但是使用body并不是最好的选择:您是在告诉jquery向整个body添加一个侦听器……最好使用较窄的父级,例如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('.chrisparent').on('click', '#cris', function(event) {
    event.preventDefault();
    $(this).text('I CHANGE');
});

编辑:以下是工作代码(没有ajax调用):https://jsfiddle.net/a34poca9/

票数 2
EN

Stack Overflow用户

发布于 2015-10-07 15:47:07

click处理程序匿名函数中未将event定义为参数?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('#cris').click(function() {
  // `event` is `undefined` here
  event.preventDefault();
  $(this).text('I CHANGE');
});

,当到达event.preventDefault()时,哪一项会返回错误?尝试向click处理程序添加event

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('#cris').click(function(event){
  event.preventDefault();
  $(this).text('I CHANGE');
});
票数 1
EN

Stack Overflow用户

发布于 2015-10-07 15:44:08

我建议您为此使用委托。代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).on('click', '#cris', function(e) {
  e.preventDefault();
  $(this).text('I CHANGE');
});

这将捕获id为"cris“的任何元素上的单击事件,无论它们是何时或如何创建的。请注意,不要将此代码放入$.ajax调用中。

在ajax响应的处理程序中添加事件处理程序意味着每次ajax调用成功时都会创建一个新的事件处理程序,这可能会导致内存泄漏和/或使click事件多次发生。如果您想这样做,您可以在绑定单击处理程序之前添加对$().off()的调用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('#chris').off('click').click(...

但这似乎只是额外的一步,考虑到委派总是会拿起事件。

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

https://stackoverflow.com/questions/32996494

复制
相关文章
打开Mac OSX原生的NTFS功能
很多同学都会为如何在Mac下写入NTFS格式的磁盘而感到困惑,因为默认情况下,把一个NTFS格式的磁盘插入到Mac里,是只能读不能写的。用起来肯定很郁闷,很多同学也因此把移动硬盘分成了双分区,一个NTFS,一个HFS。其实在Mac下完全是可以写NTFS磁盘的
twelvecoder
2021/12/24
1.2K0
JavaScript实现超时调用的功能
<script type="text/javascript"> function showMsg(){ alert("1秒之后会有新的提示"); //延时调用,只调用一次 setTimeout(function(){ alert("我就是惊喜"); }, 1000)//表示延时1000毫秒,可以改成其他的时间段 } </script> </head> <body> <input type="button" value="点击我,有惊喜" οnclick="showMsg()"> </body>
小小鱼儿小小林
2020/06/23
5450
Swift基础 功能(Functions)
翻译自:https://docs.swift.org/swift-book/LanguageGuide/Functions.html
郭顺发
2023/07/17
1570
用代码旋转屏幕
代码 1 btnRotate.setOnClickListener(new OnClickListener() {  2             @Override  3             public void onClick(View v) {  4                 int r = Math.abs(getRequestedOrientation());  5                 Log.d("DEBUG",Integer.toString(r));  6       
用户3135539
2018/09/12
1.5K0
增加MATLAB屏幕截图功能
借助Java或者Python实现截取屏幕指定矩形区域 Java实现 function outputImage=screenCapture(subRegion,outputFile) robo = java.awt.Robot; if ~exist('subRegion','var') || isempty(subRegion) %获取屏幕尺寸 t = java.awt.Toolkit.getDefaultToolkit(); rectangle = java.awt.Rectangl
万木逢春
2019/04/30
1.7K0
Python实现屏幕取色器功能
代码主要思路:首先获取全屏幕截图,在截取的图像上获取指定位置的像素颜色值并转换为十六进制表示形式。 遗憾之处:这个程序的部分代码比较长,在手机上查看时这些换行可能会影响阅读质量,记得之前有个朋友提过建议让我加上代码块,不过我试了试,微信公众号后台的编辑器不支持这个功能,网上找了几个编辑器也不太好用。如果有朋友知道简单易用的支持代码块的编辑器还请推荐一下,谢谢! import os from time import sleep import tkinter import tkinter.filedialog
Python小屋屋主
2018/04/17
7.8K3
屏幕旋转时调用PopupWindow update方法更新位置失效的问题及解决方案
   接到一个博友的反馈,在屏幕旋转时调用 PopupWindow 的 update 方法失效。使用场景如下:在一个 Activity 中监听屏幕旋转事件,在Activity主布局文件中有个按钮点击弹出一个 PopupWindow,另外在主布局文件中有个 ListView。测试结果发现:如果 ListView 设置为可见(visibile)的话,屏幕旋转时调用的 update 方法无效,如果 ListView 设置为不可见(gone)或者直接删除的话,屏幕旋转时调用的update方法就生效。下面先展示两种情况的效果图对比。
用户1155943
2018/07/31
1.2K0
屏幕旋转时调用PopupWindow update方法更新位置失效的问题及解决方案
Mac OSX 给现有的应用追加基于文档的功能
在Xcode中创建Cocoa Application 工程时,通常有两种选择类型:<code>基于文档的Application</code> 和<code>非文档的Application</code>,具体是哪一种类型,关键在于创建工程的时候,你是否选中下图中的<code>Create Document-based Application</code>选项:
代码行者
2018/08/23
6450
Mac OSX 给现有的应用追加基于文档的功能
屏幕旋转时调用PopupWindow update方法更新位置失效的问题及解决方案
用户1155943
2018/01/04
1.9K0
屏幕旋转时调用PopupWindow update方法更新位置失效的问题及解决方案
Docker / OSX快速入门
Docker(容器技术)始于2013年,自那时起我便经常可以看到有关docker的消息。之前我已经尝试过docker的入门例子,但我觉得自己没有真正理解docker技术的价值所在以及docker容器是如何运行的。在这周,当我花了一些时间去研究docker之后,发现它并没有我之前想得那样神秘和复杂。
hzr
2018/01/17
4.6K0
Docker / OSX快速入门
TRTC iOS 屏幕分享功能实践(二)
上一篇介绍了iOS系统屏幕录制的实现方案,接下来我们介绍一下腾讯TRTC SDK的接入方案。
GF
2020/11/06
1.8K0
iOS开发常用之摄像照相视频音频处理
摄像照相视频音频处理 SCRecorder - SCRecorder短视频录制。 VideoPushDemo - 视频剪辑视频特效制作1 视频特效制作2。 LLSimpleCamera - 一款简单的,可自定义的iOS摄像头控件,摄像头。 EZAudio - EZAudio是一个iOS和OSX上简单易用的音频框架,根据音量实时显示波形图,基于Core Audio,适合实时低延迟音频处理,非常直观。中文介绍,官网。 ffmpeg - ffmpeg官网,FFmpeg在iOS上完美编译。 V
GuangdongQi
2019/02/22
2.8K0
Install Scrapy on OSX|mac OSX 上安装Scrapy[SYN:gejoin.com]
顺利的话,一句命令搞定: sudo pip install Scrapy OSX还是需要额外一些包或升级的,包括:
gigiwangs
2019/03/01
7940
Mac OSX安装MongoDB
MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。 MongoDB能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使用MongoDB来创建新的应用,提高与客户之间的工作效率,加快产品上市时间,以及降低企业成本。
xiangzhihong
2022/11/30
8540
[Quartz笔记]玩转定时调度
本文介绍了如何使用Quartz Scheduler进行任务调度,包括Cron表达式、任务定义、调度策略、持久化等。同时,还介绍了Quartz与其他技术的集成,如Spring、MyBatis等。
静默虚空
2018/01/05
9620
TRTC iOS 屏幕分享功能实践(一)
实现直播过程中共享屏幕分为两个步骤:屏幕数据采集和流媒体数据推送。前对于iOS来说,屏幕采集需要系统的权限,受制于iOS系统的限制,第三方app并没有直接录制屏幕的权限,必须通过系统的功能来实现。不同的版本之间有一些差异,下面做个简单的介绍。(注:由于iOS 10和之前的系统只支持App内录制屏幕,所以只做简单的介绍,不做详细说明)
GF
2020/11/04
3.1K0
点击加载更多

相似问题

用SWIFT编写OSX内核扩展?

13

用Swift实现OSX中的TableView

10

Swift iOS -在屏幕旋转时调整collectionLayout大小

11

OSX/Swift:在建立/恢复互联网连接时调用函数

12

使用Swift禁用OSX的睡眠/屏幕保护程序

151
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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