使用ID +添加选择DIV

时间:2015-07-05 17:57:08

标签: javascript jquery

使用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 进行扩展。

JS FIDDLE

当然直接定位#test1_sub很容易,但是我有1000个div计算test1test2test3等。并希望在函数内部使用它。

3 个答案:

答案 0 :(得分:2)

你这样做

$('#test1' + "_sub").fadeOut();

请注意包含“_sub”的引号。

编辑:在你的回答中,你做了一个例子,你有100个带有test1test2等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。

jsFiddle

$(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>