2014-12-04 56 views

回答

2

你可以用jQuery中的字符串,只需使用attr

var myId = $(myHtml) 
      .first() // get the first element - <dt> 
      .attr("id"); // get the id 

請注意,你可以只使用attr因爲jQuery的只得到,如果多個元素所涉及的第一屬性,但使用first語義 ,或者至少我是這麼認爲的。

+0

它的工作原理。謝謝 – Brandao 2014-12-04 16:44:54

+0

@Brandao很高興幫助過你 – 2014-12-04 16:47:39

1

您可以在控制檯測試:

$("<dt id='119'>Email</dt><dd id='container'>my text</dd>").eq(0).attr('id') 
2

簡單地可以使用.attr()

var myHtml = "<dt id='119'>Email</dt><dd id='container'>my text</dd>"; 
 
var myId = $(myHtml).first().attr('id'); 
 
alert(myId);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>

+0

你應該明確地定位'dt',以防在目標id之前添加其他id(或者順序顛倒),但是這會起作用。 – 2014-12-04 16:22:41

+0

^'

'@TrueBlueAussie – 2014-12-04 16:23:18

+0

這麼簡單,tks。 – Brandao 2014-12-04 16:45:38

2

如果元素的順序可以改變你應該找到具體dt然後獲取其id屬性。 attr(),本身只返回找到這樣的第一個匹配的id是不是一個強大的解決方案:

$(myHtml).filter('dt').attr('id') 

你必須使用filter(),而不是find(),因爲它們是在HTML代碼段中所有頂級元素。

http://jsfiddle.net/TrueBlueAussie/ghwzsao0/

的更安全的替代,如果該含量可以變化,是包裝的HTML在另一個臨時元素find()可以用於:

$('<div>').html(myHtml).find('dt').attr('id') 

http://jsfiddle.net/TrueBlueAussie/ghwzsao0/1

相關問題