簡體   English   中英

從ID標簽抓取數字

[英]Grabbing number from id tag

我有以下幾點:

<ul style="display: block;">

<li id="deviceTree_3" class="device">

<div class="tree-itemBody ">

<div class="triCheck"</div>

<div class="tree-arrowPlaceholder"></div>

<span class="tree-itemContent">Bath Vanity (na)</span>

</div>
</li>

這個想法是在deviceTree_#之后獲取數字

我遇到的問題是數字可以是各種長度,即.... 583或3

這是正則表達式情況還是有更簡單的解決方案

var tempname=$("#deviceTree_3").attr("id").split("_");

alert(tempname[1]);//show 3

參考分割

如果格式始終為“ deviceTree_”,后跟數字,則可以使用以下格式:

var id = document.getElementsByClassName('device')[0].id;
var idNum = id.substring(id.indexOf('_')+1,id.length);
console.log(idNum);

如果您的數字值始終在_后面,則可以通過

var numberTag = $('#deviceTree_3').attr('id').split('_').pop();

只是$("#deviceTree_3").attr("id").split("_")[1] 簡單而甜美

正如其他人指出的那樣,您可以使用split獲取_之后的id部分。 您在這里不需要jQuery。 帶有ID為[anything]_[number]形式的元素的函數可以是:

function numberFromId(domElem) {
  var idParts = domElem.id.split("_");
  return idParts[1] ? idParts[1] : null;
}

我在這個小提琴中包含了這段代碼

以下正則表達式將從任何id中提取數字部分,無論它是在開頭,結尾還是中間:

id = 'fda_335534'
var reg = /(?![0-9])*([0-9]+)/
var match = reg.exec(id)
console.log(match[1])

加號的是,它適用於任何id結構。

如果id始終以“ deviceTree_”開頭,並且在num之后沒有任何內容,請執行以下操作:

console.log(id.replace('deviceTree_',''))

參考: http//api.jquery.com/attribute-starts-with-selector/

如果要獲取所有具有deviceTree_NNNN作為ID li元素,請使用jQuery進行以下操作:

$.each( $("li[id^='deviceTree_']"), function () {
  var id_parts = $(this).attr("id").split("_");
  console.log( id_parts[1] );
});

對於一個li

var id_parts = $("li[id^='deviceTree_']").attr("id").split("_");
console.log(id_parts[1]);

您可以使用它。

alert(("deviceTree_3000").split("_")[1]) ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM