我有多个带有ID的div。我需要删除div ID的某个部分并将其转换为变量。我怎样才能做到这一点?例如:
<div id="fruitapple14754"></div>
<div id="fruitapple1564"></div>
<div id="fruitapple14"></div>
我需要从id中删除fruitapple1
并将剩余部分分配给变量。 fruitapple1
的长度始终相同。
答案 0 :(得分:2)
您可以使用substr
来实现此目的: -
var ids=[];
$('[id^="fruitapple"]').each(function(){
var id=$(this).attr('id');
ids.push(id.substr(11));
});
alert(JSON.stringify(ids));
答案 1 :(得分:2)
您可以获取所有ID的数组:
var collection = [];
$('[id^="fruitapple"]').each(getId);
function getId() {
var id = $(this).attr('id').split('fruitapple1').pop();
collection.push(id);
}
答案 2 :(得分:1)
最简单的方法是用空字符串替换它
$('[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;
答案 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());
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;
答案 4 :(得分:1)
您可以使用.substring()
javascript方法。
查看此fiddle。
以下是摘录。
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;
答案 5 :(得分:0)
使用我的评论中建议的子字符串的简单答案。我在手机上了解为什么需要很长时间。
var idSubstring = document.getElementById("yourIdHere").id.substring(11);
alert(idSubstring);