Jquery 很难从HTML字符串中找到特定范围的内部文本

Jquery 很难从HTML字符串中找到特定范围的内部文本,jquery,find,each,html,Jquery,Find,Each,Html,我是Jquery新手,在识别HTML字符串中的特定标记时遇到问题。我的HTML字符串是: <span id="name">myname</span> <span id="familyname">mysurname</span> <span id="telnum">mytelnum</span> <span id="postcode">myPostCode</span> <sp

我是Jquery新手,在识别HTML字符串中的特定标记时遇到问题。我的HTML字符串是:

<span id="name">myname</span>  
<span id="familyname">mysurname</span>     
<span id="telnum">mytelnum</span>  
<span id="postcode">myPostCode</span> 
<span id="email">my@email.com</span>
但在我的代码中,find函数似乎不起作用! 这是我的密码:

var myHtmlCode = '<span id="name"> myname</span> <span id="familyname">mysurname</span> <span id="telnum"> mytelnum</span><span id="postcode"> myPostCode</span><span id="email">my@email.com</span>';

var $temp = $(myHtmlCode).find('span').contents().each(function() {
    alert(this.val());  
});
var myHtmlCode='myname myurname mytelnummyPostCodemy@email.com';
var$temp=$(myHtmlCode).find('span').contents().each(函数()){
警报(this.val());
});

感谢您提供的任何帮助……

不要调用
内容,因为您可以从
span
元素调用
文本
函数,所以这里没有任何帮助

如果您希望能够浏览已解析的字符串,则必须将跨度嵌入到一个顶级元素中

您可以将文本放入如下对象中:

var texts = {};
$('<div>'+myHtmlCode+'</div>').find('span')
  .each(function(){ texts[this.id] = $(this).text() });
var text={};
$(''+myHtmlCode+'').find('span')
.each(函数(){text[this.id]=$(this.text()});
然后,您可以读取文本,例如,
text.name

(打开控制台以查看
文本
对象)


当然,您也可以将其作为全局变量,即使用
window.name
而不是
text.name
,但建议您避免将全局名称空间弄乱。

我使用了以下代码:

var $temp = $(myHtmlCode).each(function () {

            if (this.id == "name") {

            alert(this.innerHTML);
            } 
        });

Dystory,谢谢你的帮助。你的样本结果是[object]。你能找到问题的根源吗?你有没有试着提醒它?不要。它可以很好地处理此警报:警报(this.innerHTML),但我将其用于另一个html代码,但它不适用于此新代码,以下是新的html代码:098209 14/12/2012 10/12/2012是测试10/12/2012 14/12/2012 testType
var $temp = $(myHtmlCode).each(function () {

            if (this.id == "name") {

            alert(this.innerHTML);
            } 
        });