提取id的一部分

时间:2015-08-04 04:28:48

标签: javascript jquery

我有多个带有ID的div。我需要删除div ID的某个部分并将其转换为变量。我怎样才能做到这一点?例如:

<div id="fruitapple14754"></div>
<div id="fruitapple1564"></div>
<div id="fruitapple14"></div>

我需要从id中删除fruitapple1并将剩余部分分配给变量。 fruitapple1的长度始终相同。

6 个答案:

答案 0 :(得分:2)

您可以使用substr来实现此目的: -

var ids=[];
$('[id^="fruitapple"]').each(function(){
 var id=$(this).attr('id');
  ids.push(id.substr(11));
 });

alert(JSON.stringify(ids));

Demo

答案 1 :(得分:2)

您可以获取所有ID的数组:

var collection = [];

$('[id^="fruitapple"]').each(getId);

function getId() {
  var id = $(this).attr('id').split('fruitapple1').pop();

  collection.push(id);
}

答案 2 :(得分:1)

最简单的方法是用空字符串替换它

&#13;
&#13;
$('[id^="fruitapple"]').each(function() {
  var subId = $(this).attr('id').replace('fruitapple1', '');
  console.log(subId);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="fruitapple14754"></div>
<div id="fruitapple1564"></div>
<div id="fruitapple14"></div>
&#13;
&#13;
&#13;

答案 3 :(得分:1)

尝试使用startwith selector

$('[id^="fruitapple1"]').each(function() {
     console.log(this.id.replace('fruitapple1', ''));
});

如果你想把它变成一个数组变量,那么使用map()之类的

console.log($('[id^="fruitapple1"]').map(function() {
     return (this.id.replace('fruitapple1', ''));
}).get());

&#13;
&#13;
console.log($('[id^="fruitapple1"]').map(function() {
     return (this.id.replace('fruitapple1', ''));
}).get());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="fruitapple14754"></div>
<div id="fruitapple1564"></div>
<div id="fruitapple14"></div>
&#13;
&#13;
&#13;

答案 4 :(得分:1)

您可以使用.substring() javascript方法。

查看此fiddle

以下是摘录。

&#13;
&#13;
var divs = document.getElementsByTagName('div');

for (i = 0; i < divs.length; i++) {
  var id = divs[i].id;
  alert(id.substring(11));       // length of 'fruitapple1' = 11
}
&#13;
<div id="fruitapple14754"></div>
<div id="fruitapple1564"></div>
<div id="fruitapple14"></div>
&#13;
&#13;
&#13;

答案 5 :(得分:0)

使用我的评论中建议的子字符串的简单答案。我在手机上了解为什么需要很长时间。

var idSubstring = document.getElementById("yourIdHere").id.substring(11);

alert(idSubstring);

Demo JSFiddle