2014-12-04 88 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