获取Div的ID和Div的Id包含多个值jquery

时间:2018-01-09 08:24:18

标签: javascript jquery html

我的HTML页面上有一个Div元素,而DIV来自ASP.NET应用程序,因此DIV ID一直在变化,但该ID中几乎没有单词。

例如:

<div id="ctl00_ctl00_MainContent_DetailBody_ctl01_ctl02_ctl00__UWT_ctl01_ctl00_ctl04
_NewGrid"> </div>

上面例子中唯一一直保持相同的东西是&#34; _UWT&#34; &安培; &#34; _NewGrid&#34;

我知道如何通过使用以下1个字来获取精确ID或至少:$(&#34; div [id $ =&#39; _UWT&#39;]&#34;)

但是我需要使用多个参数来获取这个Div元素: 我需要查看&#34; _UWT&#34;和&#34; _NewGrid&#34;也。 如果Div id中存在两个单词,则仅返回元素。

我需要通过JQuery获取此DIV。 我知道我可以从ASP.NET中将ClientID设置为Static,但在我的情况下这是不可行的。 感谢。

3 个答案:

答案 0 :(得分:1)

一种方法可能是:

$('div').each(function() {
if($(this).attr('id').includes('_NewGrid') && $(this).attr('id').includes('_UWT')) {
console.log($('div').attr('id'));
$(this).css('color','red') // do whatever you want with div
}
})

演示:

&#13;
&#13;
$('div').each(function() {
if($(this).attr('id').includes('_NewGrid') && $(this).attr('id').includes('_UWT')) {
console.log($('div').attr('id'));
$(this).css('color','red')
}
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ctl00_ctl00_MainContent_DetailBody_ctl01_ctl02_ctl00__UWT_ctl01_ctl00_ctl04
_NewGrid">11111</div>

<div id="ctl00_ctl00_MainContent_DetailBody_ctl01_ctl02_ctl00__UWT_ctl01_ctl00_ctl04
_NewGri">222222222</div>

<div id="ctl00_ctl00_MainContent_DetailBody_ctl01_ctl02_ctl00__ctl01_ctl00_ctl04
_NewGrid">3333333333333</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

要实现这一目标,您可以组合使用'属性包含'选择器(以查找_UWT)和'属性以'结尾选择器(以查找_WebGrid),如下所示:

$('div[id*="UWT"][id$="_NewGrid"]').addClass('foo');
.foo {
  color: #C00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ctl00_ctl00_MainContent_DetailBody_ctl01_ctl02_ctl00_ctl01_ctl00_ctl04_NewGrid">Not this one</div>
<div id="ctl00_ctl00_MainContent_DetailBody_ctl01_ctl02_ctl00__UWT_ctl01_ctl00_ctl04">Not this one</div>
<div id="ctl00_ctl00_MainContent_DetailBody_ctl01_ctl02_ctl00__UWT_ctl01_ctl00_ctl04_NewGrid">This one</div>

答案 2 :(得分:0)

尝试以下方式:

添加我在此处添加的特定课程item-collection

<div class="item-collection" id="ctl00_ctl00_MainContent_DetailBody_ctl01_ctl02_ctl00__UWT_ctl01_ctl00_ctl04
_NewGrid">Div 1</div>
<div class="item-collection" id="ctl00_ctl00_MainContent_DetailBody_ctl01_ctl02_ctl00__UWT_ctl01_ctl00_ctl04">Div 2</div>
<div class="item-collection" id="ctl00_ctl00_MainContent_DetailBody_ctl01_ctl02_ctl00_ctl01_ctl00_ctl04
_NewGrid">Div 3</div>
<div class="item-collection" id="ctl00_ctl00_MainContent_DetailBody_ctl01_ctl02_ctl00_ctl01_ctl00_ctl04
_NewGrid">Div 4</div>

JS是:

    var itemslist = [];
    $(".item-collection").each(function(){
        if($(this).attr("id").indexOf("_UWT") > -1 && $(this).attr("id").indexOf("_NewGrid")){
            itemslist.push($(this))
        }
    })      
    console.log(itemslist);