jquery选择器:ID以某些东西开头(关键字"section")

mus*_*rge 18 jquery css-selectors

我想定位所有id以"section"开头的div; 对于每个这些div,我想显示以"pre"开头的类型输入的子div.

    //groups = $('div [id^=section]');  
    groups = $('[id^=section]');    

    $.each(groups, function(key, group) {
         alert(key + ': ' + group); 
        //inputs = group.('[id^=pre]'); 
    });


<div id="section-A1">       
    <input id="preBeginDtl" name="BeginDtlFields" value="" type="hidden">
    <input id="other" name="name2" value="" type="input">
    <input id="preGroup" name="GRP" value="AA" type="hidden">
</div>
Run Code Online (Sandbox Code Playgroud)

mar*_*976 41

这将作为选择器:

$('[id^=section] > [id^=pre]')
Run Code Online (Sandbox Code Playgroud)

但是,我认为你不能改变输入元素的type属性.您可能只想将'pre'输入设置为type ="text"(而不是type ="hidden"),并将其css display属性设置为none.然后使用jQuery show()取消隐藏它.

<div id="section-A1">       
    <input id="preBeginDtl" name="BeginDtlFields" value="" type="text" style="display:none">
    <input id="other" name="name2" value="" type="text">
    <input id="preGroup" name="GRP" value="AA" type="text" style="display:none">
</div>
Run Code Online (Sandbox Code Playgroud)

$('[id^=section] > [id^=pre]').show()
Run Code Online (Sandbox Code Playgroud)


Nic*_*ord 12

groups = $('[id^=section]');    

$.each(groups, function(key, group) {
    inputs = $(group).children('[id^=pre]'); 
});
Run Code Online (Sandbox Code Playgroud)


Jer*_*acs 12

而不是寻找部分ID,也许你应该在div中添加"section"和"pre"类?然后你可以搜索

groups = $('div.section div.pre');
Run Code Online (Sandbox Code Playgroud)

你在做什么本质上是一个基于类的查找,这将是适当的机制.