js代码片断(用到ajax):
    $.ajax({
     url: '/jQuery/Test?' + Math.random(),
     success: function(str) {
     alert($(str).find('divTest').attr('id'));
     $('select#select1').empty();
     $('select#select1').append($(str).find('select#select1').html());
     }
    });所请求页面部分代码:
<div id='divTest'>
<select id='select1'>
<option value="0" selected="selected"></option>
<option value="2">浙江省</option>
<option value="5">四川省</option>
</select>
</div>alert($(str).find('divTest').attr('id'));
弹出的是个undefined.
为什么呢?thx!!!

解决方案 »

  1.   

    find(expr)
    搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。
    所有搜索都依靠jQuery表达式来完成。这个表达式可以使用CSS1-3的选择器语法来写。
    返回值jQuery
    参数expr (String) :用于查找的表达式
    示例从所有的段落开始,进一步搜索下面的span元素。与$("p span")相同。HTML 代码:
    <p><span>Hello</span>, how are you?</p>jQuery 代码:
    $("p").find("span")结果:
    [ <span>Hello</span> ] 
      

  2.   

    你执行ajax方法后返回一个什么值?
      

  3.   

    我在所请求页面的id为divTest的div外面再包一层div,却可以了,这又是为什么呢?
    <div>
    <div id='divTest'>
    <select id='select1'>
    <option value="0" selected="selected"></option>
    <option value="2">
    浙江省
    </option>
    <option value="5">
    四川省
    </option>
    </select>
    </div>
    </div>
    难道找id时外面一定要再包层东西?
      

  4.   

    是的 。
    比如 <div id='divTest'><div> 找divtest找不到 。因为它本身就是的 。