使用div作为选择器很简单:
<div id="test1"></div>
$('#test1').doSomething();
我想只定位另一个div,包含相同的ID
+ _sub
:
<div id="test1"></div>
<div id="test1_sub"></div>
$('#test1').find( /* Same ID + "_sub" */ ).doSomething();
我该怎么做?我知道我可以使用.attr('id')
来#test1 ,但我不知道如何使用 _sub 进行扩展。
当然直接定位#test1_sub
很容易,但是我有1000个div计算test1
,test2
,test3
等。并希望在函数内部使用它。
答案 0 :(得分:2)
你这样做
$('#test1' + "_sub").fadeOut();
请注意包含“_sub”的引号。
编辑:在你的回答中,你做了一个例子,你有100个带有test1
,test2
等ID的div。然后,您可以选择ID为test
的所有元素。像这样:
$('*[id^="test"]').fadeOut();
答案 1 :(得分:2)
设置变量和链:(已更正)
var target = $(whatever test div you targetted).attr('id');
$('#'+target + "_sub").doSomething();
你说你打算在一个函数中使用它,所以它就是这样的目标。让我们说当你点击#test1
时,一个函数将根据点击的测试在所有潜艇上运行:
$('.testBoxes').click(function () {
var target = $(this).attr('id');
$('#'+target + "_sub").doSomething();
});
答案 2 :(得分:2)
在这里,您可以使用start with selector来处理所有ID。
$(document).ready(function(){
$( "*[id^='test1']" ).fadeOut();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<div id="test1">Test 1</div>
<div id="test1_sub"> Test 1 Sub</div>
<div id="test1_asdf">Test 1 ASDF</div>
<div id="test1_sub342"> Test 1 sub342</div>
<div id="test1_sdfsd">Test 1 sdfsd</div>
<div id="test1_45645"> Test 1 45645</div>