Javascript 使用其ID选择DIV+;附加

Javascript 使用其ID选择DIV+;附加,javascript,jquery,Javascript,Jquery,使用div作为选择器很容易: <div id="test1"></div> $('#test1').doSomething(); 我该怎么做?我知道我可以使用.attr('id')进行#test1,但我不知道如何使用\u sub扩展此功能 当然,直接针对#test1_sub是很容易的,但是图像我有1000个div,加起来test1,test2,test3,等等,并且希望在函数内部使用它。您这样做吗 $('#test1' + "_sub").fadeOut(); 请注

使用div作为选择器很容易:

<div id="test1"></div>
$('#test1').doSomething();
我该怎么做?我知道我可以使用
.attr('id')
进行#test1,但我不知道如何使用\u sub扩展此功能

当然,直接针对
#test1_sub
是很容易的,但是图像我有1000个div,加起来
test1
test2
test3
,等等,并且希望在函数内部使用它。

您这样做吗

$('#test1' + "_sub").fadeOut();
请注意包含“_sub”的引号

编辑:在您的答案中,您创建了一个示例,其中有100个div,ID为
test1
test2
等等。然后可以选择id以
test
开头的所有元素。像这样:

$('*[id^="test"]').fadeOut();
你是这样做的

$('#test1' + "_sub").fadeOut();
请注意包含“_sub”的引号

编辑:在您的答案中,您创建了一个示例,其中有100个div,ID为
test1
test2
等等。然后可以选择id以
test
开头的所有元素。像这样:

$('*[id^="test"]').fadeOut();
设置变量和链:(已更正)

您说过要在函数中使用它,所以它可以通过这种方式作为目标。假设当您单击
#test1
时,一个函数将基于单击的测试在所有子节点上运行:

$('.testBoxes').click(function () {
   var target = $(this).attr('id');
   $('#'+target + "_sub").doSomething();
});
设置变量和链:(已更正)

您说过要在函数中使用它,所以它可以通过这种方式作为目标。假设当您单击
#test1
时,一个函数将基于单击的测试在所有子节点上运行:

$('.testBoxes').click(function () {
   var target = $(this).attr('id');
   $('#'+target + "_sub").doSomething();
});

在这里,您可以使用start with selector处理所有ID

$(文档).ready(函数(){
$(“*[id^='test1']”)淡出();
})

测试1
测试1子系统
测试1 ASDF
测试1 sub342
测试1 sdfsd

测试1 45645
在这里,您可以使用带选择器的start来处理所有ID

$(文档).ready(函数(){
$(“*[id^='test1']”)淡出();
})

测试1
测试1子系统
测试1 ASDF
测试1 sub342
测试1 sdfsd

test145645
$(“#Test”+x),这一定有效?不清楚你在问什么,因为ID在文档上下文中必须是唯一的,所以
#test1_sub
可以正常工作,不管怎样,关于你发布的代码,
#test1_sub
不是
#test1
的后代,所以我真的不确定你在期待什么?!我已经试着解释过了@AhmetCanGü即使这对我不起作用,也可以检查此小提琴以瞄准所有
sub
div,您可以使用例如:
$('[id^=test][id$=\u sub]')。fadeOut()。要针对特定的测试,可以使用:
$('#'+this.id+'_sub')
,其中
this
指的是特定的
#testx
div。但您的问题缺少一些上下文,无法更清楚地说明预期的行为。顺便说一句,这听起来像是一个XY问题,需要ID,但需要使用相关的同级选择器或横向方法,例如:
$('test1+div')
或其他方法↑↑↑ 如果不需要ID$(“#test”+x),这一定会起作用吗?不清楚您的要求是什么,因为ID在文档上下文中必须是唯一的,所以
#test1_sub
可以正常工作,而且不管怎样,关于您发布的代码,
#test1_sub
不是
#test1
的后代,所以我真的不确定您期望的是什么?!我已经试着解释过了@AhmetCanGü即使这对我不起作用,也可以检查此小提琴以瞄准所有
sub
div,您可以使用例如:
$('[id^=test][id$=\u sub]')。fadeOut()。要针对特定的测试,可以使用:
$('#'+this.id+'_sub')
,其中
this
指的是特定的
#testx
div。但您的问题缺少一些上下文,无法更清楚地说明预期的行为。顺便说一句,这听起来像是一个XY问题,需要ID,但需要使用相关的同级选择器或横向方法,例如:
$('test1+div')
或其他方法↑↑↑ 不需要ID的地方sub DIV不是
#testx
DIV@A.Wolff谢谢你的帮助。Fixedsub DIV不是
#testx
DIV@A.Wolff谢谢你的帮助。Fixedbut
$('*[id^=“test”]”)
将以id以test开头的所有div为目标,而不仅仅是子div。并连接硬编码字符串
“#test1”+“_sub”
实际上没有意义。这个答案怎么能被接受呢?但是
$('*[id^=“test”]')
将以id以test开头的所有div为目标,而不仅仅是子div。并连接硬编码字符串
“#test1”+“_sub”
实际上没有意义。这个答案怎么能被接受?