试图查找id中是否存在某些字符

时间:2016-04-19 16:40:55

标签: jquery

<span class="help-block" style="color:red;text-align:left;" id="1012Error">Error Block</span>
<span class="help-block" style="color:red;text-align:left;" id="1013">Clear</span>
<span class="help-block" style="color:red;text-align:left;" id="1012Error">Error Block</span>
<span class="help-block" style="color:red;text-align:left;" id="1012">Clear</span>

我正在努力实现这样的目标

if(id contains "error")
{
  $(this).html("");
}

有人可以指导我如何获得这个

3 个答案:

答案 0 :(得分:2)

jQuery功能selectors that can be used to target specific elements based on their attributes。在这种情况下,您可以在此方案中使用两个。

结尾选择器$=

您可以通过以下语法找到具有使用$= attribute selector的特定短语结束的属性的任何元素:

// This will empty the HTML for any element that has an ID that ends with "Error" 
$('[id$="Error"]').html('');

包含选择器*=

同样,*= attribute selector会找到任何具有某个属性的元素,其中包含&#34;包含&#34;特定值:

$('[id*="Error"]').html('');

通过each()

处理多项操作

如果您需要对元素执行多项操作,可以使用each()函数迭代它们并处理您的操作:

// Find each element that ends with "Error"...
$('[id*="Error"]').each(function(){
     // And clear it out
     $(this).html('');
     // Then do something else here
});

答案 1 :(得分:1)

您可以使用attribute contains selector

$('span[id*="Error"]').html('')

<强> jsFiddle example

答案 2 :(得分:0)

你可以做这样的事情

$('span.help-block').each(function(){
   var id = $(this).attr("id");
   # test if it matches error
   if(id.match(/error/i)){
     # your operation here
     $(this).text(""); // for example
   }
})