2013-02-12 50 views
0

我有一个tmp变量。如果一个标签id包含tmp字符串想要addClass。怎么做?id在Jquery中包含特定的字符串名称

$(document).ready(function() { 
    var tmp = "#lnkPage" + id; 

    $("#pageingdiv").children().each(function (n, i) { 
     var id = this.id; 
     //if (id.contains(tmp)) { 
     // $(id).addClass('box'); 
     //} 
    }); 
}); 

<div id="pageingDiv"> 
     <a id="CPH_Content_C002_lnkPage1" ></a> 
     <a id="CPH_Content_C002_lnkPage2" ></a> 
     <a id="CPH_Content_C002_lnkPage3" ></a> 
     <a id="CPH_Content_C002_lnkPage4" ></a>  
    </div> 
</div> 

回答

3

使用indexOf()

if(id.indexOf(tmp) !== -1) 
{ 
    $(id).addClass('box'); 
} 

而且你不应该有相同ID的元素,你应该使用类而不是

1

您可以使用jQuery("input[id*='value']")选择器来检查它是否包含特定的字符串作为ID。

测试的代码

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript"> 

    $(function() 
    { 
     $("a[id*='lnkPage']").addClass('SampleClass'); 
    }); 

</script> 


<div id="pageingDiv"> 
    <a id="CPH_Content_C002_lnkPage1" ></a> 
    <a id="CPH_Content_C002_lnkPage1" ></a> 
    <a id="CPH_Content_C002_lnkPage1" ></a> 
    <a id="CPH_Content_C002_lnkPage1" ></a> 
</div>
0

试试这个

var tmp = "lnkPage1"; 
$("a[id*='"+tmp+"']").addClass('box'); 
0

试试这个:

var tmp = "lnkPage" + id; // <-----remove the hash '#' 

$('[id$="'+tmp+'"]').addClass('box'); 
相关问题