在没有很多 jQuery 请求的情况下获取传递的元素属性和属性

     2023-05-09     53

关键词:

【中文标题】在没有很多 jQuery 请求的情况下获取传递的元素属性和属性【英文标题】:Get passed element properties and attributes without many jQuery requests 【发布时间】:2017-05-02 06:13:23 【问题描述】:

我有一些带有列表元素的列表,每个列表元素都有许多自定义属性,例如data-user-iddata-avatar 等。在每个列表元素上,我都附加了一个像这样的 jQuery 点击事件

$('*.friendListItem').on('click', function () 
    var userId = this.something;
    var avatar = this.foo;

现在,由于我在 this 对象中拥有了所需的所有属性和属性的传递元素,因此我正在寻找访问它们的最佳方式,因为使用 $(this).attr('data-user-id); 会导致不必要的 DOM遍历。

我现在能想到的使用纯Javascript的唯一方法就是这样

this.attributes['data-user-id'].nodeValue

这似乎不是很好和最佳的。

有没有更好的方法来做我想做的事?

【问题讨论】:

【参考方案1】:

您可以使用Element.dataSet 属性。

var userId = this.dataset.userId; //data-user-id

注意:对于带连字符的属性,将使用 camelCase

$('span').click(function() 
  console.log(this.dataset.userId)
)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span data-user-id="10">Click me<span>

【讨论】:

meh,我可以通过更多的调试发现,谢谢:) 将标记为答案

如何在没有新服务器请求的情况下将下载的图像从父路由传递到子路由

】如何在没有新服务器请求的情况下将下载的图像从父路由传递到子路由【英文标题】:HowtopassdownloadedimagefromParenttoChildroutewithoutnewserverrequest【发布时间】:2020-11-0407:15:35【问题描述】:我正在使用firebase和Angular+Ionic来构建博客... 查看详情

如何在不请求通知权限的情况下获取 Firebase 云消息传递的注册令牌?

】如何在不请求通知权限的情况下获取Firebase云消息传递的注册令牌?【英文标题】:HowtogetaregistrationtokenforFirebaseCloudMessagingwithoutrequestingpermissionfornotifications?【发布时间】:2017-09-2012:23:59【问题描述】:我的最终目标是让Web客... 查看详情

如何在没有 jQuery 的情况下从 JavaScript 对象获取查询字符串?

】如何在没有jQuery的情况下从JavaScript对象获取查询字符串?【英文标题】:HowtogetquerystringfromJavaScriptObjectwithoutjQuery?【发布时间】:2013-07-0319:36:47【问题描述】:我正在寻找jQuery.param()的无依赖实现。我正在尝试创建一个数组或... 查看详情

Firebase firestore 如何在没有额外请求的情况下获取参考数据?

】Firebasefirestore如何在没有额外请求的情况下获取参考数据?【英文标题】:Firebasefirestorehowtogetreferencedatawithoutadditionalrequest?【发布时间】:2018-06-0321:33:45【问题描述】:当我获取了我们可以在下面的屏幕截图中看到的地方时,... 查看详情

Alamofire:有没有办法在失败的情况下获取响应数据?

】Alamofire:有没有办法在失败的情况下获取响应数据?【英文标题】:Alamofire:IsthereawaytogetresponsedataincaseofFailure?【发布时间】:2016-12-1021:36:35【问题描述】:在Alamofire中调用.validate()进行自动验证并将状态码200...299传递为成功。... 查看详情

如何在没有上下文路径的情况下获取请求 URI?

】如何在没有上下文路径的情况下获取请求URI?【英文标题】:HowtogetrequestURIwithoutcontextpath?【发布时间】:2011-05-1518:03:51【问题描述】:方法request.getRequestURI()返回带有上下文路径的URI。例如,如果一个应用程序的基本URL是http:/... 查看详情

我的 html 模板如何在没有 view.py 传递的任何参数的情况下获取用户名?

】我的html模板如何在没有view.py传递的任何参数的情况下获取用户名?【英文标题】:Howaremyhtmltemplatesabletogettheusernamewithoutanyargumentspassedbyviews.py?【发布时间】:2019-11-0220:52:05【问题描述】:我有一个基于djongo引擎的谷歌身份验... 查看详情

如何在上传之前获取文件名并在没有 fakepath 的情况下传递到另一个文本输入字段

】如何在上传之前获取文件名并在没有fakepath的情况下传递到另一个文本输入字段【英文标题】:Howtogetfilenamebeforeuploadandpasstoanothertextinputfieldwithoutfakepath【发布时间】:2019-11-0419:20:10【问题描述】:我想上传一个文件夹中的图像... 查看详情

在没有jQuery的情况下获取多项选择的所有选项

】在没有jQuery的情况下获取多项选择的所有选项【英文标题】:getalltheoptionsselectedofamultipleselectwithoutjQuery【发布时间】:2014-03-0511:04:52【问题描述】:我想在提交表单时取回多选中的所有选项。喜欢:<selectid="multipleSelect"multipl... 查看详情

如何在没有定义的情况下获取 jquery 数据表的列

】如何在没有定义的情况下获取jquery数据表的列【英文标题】:Howtogetcolumnstojquerydatatableswithoutdefine【发布时间】:2019-10-0616:53:33【问题描述】:我在oracle中有一个包含86列的表。我想将所有列都放到我的服务器端数据表中。我从... 查看详情

jQuery:在没有浏览器特定代码的情况下获取输入中文本的光标位置? [复制]

】jQuery:在没有浏览器特定代码的情况下获取输入中文本的光标位置?[复制]【英文标题】:jQuery:Getthecursorpositionoftextininputwithoutbrowserspecificcode?[duplicate]【发布时间】:2011-05-0408:58:19【问题描述】:在jQuery中有什么方法可以在文... 查看详情

如何在没有 segue 和 storyboard 编程的情况下传递数据?

】如何在没有segue和storyboard编程的情况下传递数据?【英文标题】:Howtopassdatawithoutsegueandstoryboardprogramming?【发布时间】:2017-02-2209:12:46【问题描述】:我想将数据从vc1传递到vc2。vc1有很多按钮。vc2有许多元素,并检测用户按下... 查看详情

客户端如何在没有频繁 ajax 请求的情况下从服务器获取更新?

】客户端如何在没有频繁ajax请求的情况下从服务器获取更新?【英文标题】:Howclientgetsupdatesfromserverwithoutfrequentajaxrequest?【发布时间】:2016-09-0222:41:29【问题描述】:在我的项目中,有私人聊天和消息通知等功能。如果有任何... 查看详情

如何在不访问请求的情况下获取基本 URL

...equest【发布时间】:2017-02-1308:13:33【问题描述】:如何在没有请求的情况下获取AspNet核心应用程序中的基本URL?我从请求中知道您可以获得方案和主机(即$"Request.Scheme://Request.Host"会给出类似https://localhost:5000的 查看详情

如何在没有 jQuery 的情况下序列化表单? [复制]

】如何在没有jQuery的情况下序列化表单?[复制]【英文标题】:howtoserializeaformwithoutjQuery?[duplicate]【发布时间】:2012-05-0706:00:55【问题描述】:由于很多原因(首先:学习javascript),我需要在没有jQuery的情况下序列化一个表单,... 查看详情

jquery 或 javascript 中有没有一种方法可以在不使用 ajax 请求的情况下在页面加载时填充下拉列表?

】jquery或javascript中有没有一种方法可以在不使用ajax请求的情况下在页面加载时填充下拉列表?【英文标题】:Isthereawayinjqueryorjavascripttopopulatedropdownlistsonpageloadwithoutusinganajaxrequest?【发布时间】:2019-07-0213:43:24【问题描述】:我... 查看详情

如何在没有表单字段的情况下从表单传递数据? (PHP)

】如何在没有表单字段的情况下从表单传递数据?(PHP)【英文标题】:Howtopassdatafromformwithoutaformfield?(PHP)【发布时间】:2011-08-1112:08:20【问题描述】:我有一个用于编辑用户名和电子邮件的表单。因此,当它更新名称和电子邮件... 查看详情

如何在没有表单的情况下获取文件上传

】如何在没有表单的情况下获取文件上传【英文标题】:Howtogetfileuploadwithoutaform【发布时间】:2013-08-2608:25:09【问题描述】:我的控制器接收到发布数据。它不是来自Symfony生成的表单,而是来自使用FormData的AngularJS自定义表单。... 查看详情