Javascript 如何使用jQuery切换一个元素而不切换其他元素?

Javascript 如何使用jQuery切换一个元素而不切换其他元素?,javascript,jquery,html,onclick,Javascript,Jquery,Html,Onclick,我想知道如何在不切换其他元素的情况下切换一个元素。。。我只是不想每次都这么做: HTML: 有没有简而言之的方法?请帮忙。。。thx您可以使用jQuery选择所有元素,其中className包含某个子字符串: $('*[class*="as-"]') 这将选择DOM中的所有元素(*),其中类名([class=”“])在其中的任何位置(*)都有“as-”) 然后,您可以使用传递为this的元素来获取后的元素编号“as-”,并切换所需元素: $('*[class*="as-"]').click(f

我想知道如何在不切换其他元素的情况下切换一个元素。。。我只是不想每次都这么做:

HTML:


有没有简而言之的方法?请帮忙。。。thx

您可以使用jQuery选择所有元素,其中
className
包含某个子字符串:

$('*[class*="as-"]')
这将选择DOM中的所有元素(
*
),其中
类名(
[class=”“]
)在其中的任何位置(
*
)都有
“as-”

然后,您可以使用传递为
this
的元素来获取
后的元素编号“as-”
,并切换所需元素:

$('*[class*="as-"]').click(function () {
  let elemNum = this.className.match(/as-(\d+)/)[1];
  $("as"+elemNum).slideToggle('fast');
});

我知道你已经接受了答案,但无论如何…
在我看来,这是一个更好的解决办法

为什么会这样?
只有3行代码,不使用任何正则表达式或部分类名…
有关更多详细信息,请参见“我的代码”中的注释:

//可以使用class^=[as-]对以as-]开头的类进行筛选,
//(^比a*更好,因为它更具体)
//但我建议您使用“共享切换”类,这里没有必要将事情复杂化:
$('.share toggle')。打开('单击',函数(){
//下面将获取在我们刚才单击的元素之后的.audio share元素,
//如果您的HTML结构要像这样保持良好的结构,这是最好的解决方案:
$(this).next('.audioshare').slideToggle('fast');
});

[点击此处]
一些文本

[点击此处] 一些文本


最好使用
事件。currentTarget
而不是
目标
。该元素的任何子元素都可以是
target
,但请注意,使用箭头函数时,没有明确的
,这对我来说不起作用。它只是删除as-元素,而不切换所需的元素。。。
$('*[class*="as-"]')
$('*[class*="as-"]').click(function () {
  let elemNum = this.className.match(/as-(\d+)/)[1];
  $("as"+elemNum).slideToggle('fast');
});