Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JS/jQuery -如何从元素ID中提取一个数字并将其用作函数中的变量?

JS/jQuery -如何从元素ID中提取一个数字并将其用作函数中的变量?
EN

Stack Overflow用户
提问于 2017-03-09 14:54:53
回答 3查看 35关注 0票数 0

基本上,我想要一个函数分别作用于多个元素,这取决于哪个元素被单击。

我有3个这样的函数可以做同样的事情:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$("#morelink1, #pic1").click(function() {
var imgHeight = $(".pic").height();
var image = $('#more1').parent('.content').siblings(
  '.image');
if ($('#more1').is(":visible")) {
  $("#more1").slideUp(200, "linear");
  image.height(contHeight);
  showtext1();
  $("#closemore1").hide();
} else {
  $("#more1").slideDown(200, "linear");
  image.height(imgHeight);
  hidebutton1();
  hidetext1();
}
 });

如您所见,我在此函数中使用的in的名称都以“1”结尾。我为2和3复制了这个函数。

必须有一种方法从#morelink1中提取数字,使其成为变量,并将数字附加到函数中的ID,而不是重复。

我想要像这样的东西:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var NUMBER = [get the number from the ID of the element that was clicked];

$("#morelink + NUMBER, #pic + NUMBER").click(function() {

我还有内置到这个函数中的函数-- showtext1()hidebutton1()hidetext1()。这些也是重复的,只是数字发生了变化。我希望能够对这个函数中的函数做同样的事情。它会像showtext(NUMBER)一样吗?

我环顾四周,似乎想不出一种方法来做这件事。

有没有其他方法可以做到这一点,比如向函数传递一个数字?

EN

回答 3

Stack Overflow用户

发布于 2017-03-09 14:58:49

相反,只需修改选择器以使用the "starts with" operator,而不是完全指定id

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$("[id^='morelink'], [id^='pic']").click(function() {

这将匹配id值以'morelink''pic'开头的每个元素,而不管id的其余部分是什么。

如果在单击处理程序中仍然需要该值,可以从当前元素的id中解析它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var idString = $(this).attr('id');
// use whatever logic you define to parse the number value.
// for example, maybe a regular expression which matches only numeric characters?
票数 2
EN

Stack Overflow用户

发布于 2017-03-09 15:07:35

如果你能分享你的全部代码,那会很有帮助。根据我的理解,它应该是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Append click event to elements whose id starts with morelink or pic.
$('[id^="morelink"], id^=["pic"]').click(function() {
  // Get id of current clicked element.
  var id = $(this).attr('id');
  // Use RegExp to extract number.
  var number = id.match(/[\d]+/)[0];

  // Your functions starting.
  var imgHeight = $(".pic").height(); //should this be pic + NUMBER?
  var image = $('#more' + number).parent('.content').siblings('.image');

  if ($('#more' + number).is(":visible")) {
    $('#more' + number).slideUp(200, "linear");
    image.height(contHeight);
    // Executes selectMore1(); if number = 1
    window['showtext' + number]();
   $("#closemore" + number).hide();
  } else {
    $("#more" + number).slideDown(200, "linear");
    image.height(imgHeight);
    // Executes hidebutton1(); if number = 1
    window['hidebutton' + number]();
    // Executes hidetext1(); if number = 1
    window['hidetext' + number]();
  }
});

但是,我不认为应该存在hidebutton1(),而应该存在hidebutton(number)。这就是为什么我要求完整的代码来真正理解你现在创建多个函数是什么意思。

票数 0
EN

Stack Overflow用户

发布于 2017-03-09 15:30:30

如果您知道变量名称的前缀,请使用所需的数字作为后缀。然后插入jQuery选择器。我以前也这样做过,如果像$(YourNewVariableForID)这样的直接插件不起作用,那就试试$("#" + eval(YourNewVariableForID))

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

https://stackoverflow.com/questions/42698497

复制
相关文章
shell正则提取字符串中的数字并保存到变量中
tr是translate的缩写,主要用于删除文件中的控制字符,或者进行字符转换
休辞醉倒
2019/07/25
7.9K0
如何在 React 中获取点击元素的 ID?
在 React 应用中,我们经常需要根据用户的点击事件来执行相应的操作。在某些情况下,我们需要获取用户点击元素的唯一标识符(ID),以便进行进一步的处理。本文将详细介绍如何在 React 中获取点击元素的 ID,并提供示例代码帮助你理解和应用这个功能。
网络技术联盟站
2023/06/07
3.5K0
如何优雅的从Array中删除一个元素
从JavaScript数组中删除元素是开发人员经常遇到的常见编程范例。与许多JavaScript一样,这并不像它应该的那么简单。
Jean
2018/12/21
9.8K0
jQuery中不同元素的作用
removeClass() - 从被选元素删除一个或多个类 toggleClass() - 对被选元素进行添加/删除类的切换操作 css() - 设置或返回样式属性
用户7718188
2021/10/07
1.7K0
如何从列表中获取元素
观察URAM的物理管脚,不难发现A/B端口都有相应的地址、使能、读写控制信号。与BRAM不同的是URAM的读写使能信号是同一个管脚RDB_WR_A/B,其为0时执行读操作,为1时执行写操作,这意味着一旦A/B端口独立,同一端口的读写操作就无法同时发生,因此,如果采用上一篇文章中介绍的方法将其配置为两个独立的单端口RAM,其读写行为与常规的单端口RAM是不同的,进一步而言,此时的读写行为类似于NO_Change模式。
Lauren的FPGA
2019/10/30
17.3K0
JQuery如何获取ID含有特殊字符的DOM元素
为业务需要,DOM元素的ID被命名为“c-order.range”,执行JQuery的DOM查询时,提示如下错误
黄啊码
2021/09/26
10.8K0
Js中的变量
Js中的变量:  1:如果在var中没有初始化变量的值,则默认为undefined.  2:可以不用var来申明一个变量,但是在过程级中申明一个变量时,就必须用var.    总之用var就对了.  3:当要声明一个变量并进行初始化,但又不想指定任何特殊值,可以赋值为 JScript 值 null。下面给出示例。    var bestAge = null;  4:如果声明了一个变量但没有对其赋值,该变量存在,其值为Jscript 值 undefined。下面给出示例。     var currentCou
用户1172164
2018/01/12
12.9K0
python中的id( )函数
>>> a=2.0 >>> b=2.0 >>> id(a) 524440880 >>> id(b) 524440904 >>> a=2 >>> b=2 >>> id(a) 524425104 >>> id(b)524425104为什么上面输出的值有些一样,有些不一样呢,求大神详细解释下。
用户7886150
2021/01/23
1K0
访问和提取DataFrame中的元素
访问元素和提取子集是数据框的基本操作,在pandas中,提供了多种方式。对于一个数据框而言,既有从0开始的整数下标索引,也有行列的标签索引
生信修炼手册
2020/06/24
4.4K0
js删除数组中的一个元素_js数组包含某个元素
1. 不可以使用 delete 方式删除数组中某个元素,此操作会造成稀疏数组,被删除的元素的为位置依然存在为empty,且数组的长度不变
全栈程序员站长
2022/11/10
11.7K0
jQuery 替换元素中class的方法
实现方法: ① 使用removeClass()删除旧的class ② 使用addClass()添加新的class ③ 使用attr 直接替换原class ④ 使用 toggleClass 有就移除,没有就添加
青梅煮码
2023/01/16
2.3K0
如何从 Java 的 List 中删除第一个元素
在这个实例中,我们将会演示如何删除在 Java 中定义的 List 的第 1 个元素。
HoneyMoose
2022/04/16
11.6K0
如何从 Java 的 List 中删除第一个元素
jQuery 对AMD的支持(Require.js中如何使用jQuery)
AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一个可用的模块化 JavaScript 的解决方案。
李维亮
2021/07/09
3.5K0
js提取字符串中数字的几种方法
利用js脚本从一串字符串中提取数字有多种方法,下面大熊博客就来简单的介绍几种常用到的。
Power
2023/05/25
13K0
js提取字符串中数字的几种方法
python:如何从 URL 中快速提取域名?
有时候,我们要从一段很长的 URL 里面提取出域名。例如从https://www.kingname.info/2020/10/02/copy-from-ssh/,我需要获取的是kingname.info。
王图思睿
2021/06/16
9.1K0
Vue3.0中如何引入jQuery并使用
在使用vue框架开发的时候 ,是非常的方便的,但是在工作中 ,还是会有遇到对接jq的部分的接口,这个时候就需要在vue的界面里面引入jQuery并使用了
王小婷
2022/12/03
3.5K0
Vue3.0中如何引入jQuery并使用
【说站】js中如何查找链表元素
2、实现find方法,用于查找链表中指定位置的节点。从链表的head开始,遍历整个链表,直到找到相应索引位置的节点,然后返回节点。
很酷的站长
2022/11/24
2.4K0
【说站】js中如何查找链表元素
JavaScript 中如何判断变量是否为数字
JavaScript 是一种动态类型语言,这意味着解释器在运行时确定变量的类型。实际上,这也允许我们在相同的代码中使用相同的变量来存储不同类型的数据。如果没有文档和一致性,我们在使用代码时并不总是知道变量的类型。
前端小智@大迁世界
2020/10/29
2.8K0
jmeter中[取样器]JSON Extractor提取实例ID用法
在对某个复杂接口返回结果数据较多时,json结构形式的HTTP请求进行提取某一个值,比如提取
陈定攀
2021/11/24
1.7K0
如何从内存提取LastPass中的账号密码
简介 首先必须要说,这并不是LastPass的exp或者漏洞,这仅仅是通过取证方法提取仍旧保留在内存中数据的方法。之前我阅读《内存取证的艺术》(The Art of Memory Forensics)时,其中有一章节就有讨论从浏览器提取密码的方法。当你使用标准的用户名/密码方式登录一个网页,通常会发送一个包含了你的用户名及密码的post请求,这些都是以明文方式发送(这里不过多讨论SSL,在SSL内部也是明文发送的)。 本文描述如何找到这些post请求并提取信息,当然如果你捕获到浏览器登录,这些方法就很实用。
FB客服
2018/02/09
5.7K0
如何从内存提取LastPass中的账号密码

相似问题

如何从php中的url中获取id并将其用作数字?

40

从URL中抓取数字并将其用作PHP中的变量

10

获取子元素的id并使用jquery将其存储在变量中?

40

(可能重复)如何从文件中读取数字并将其用作变量?

21

如何从文件中读取数字并将其用作C++中的变量?

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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