2016-05-09 53 views
-1

我有一組嵌套<div>和在頁面載入完成需要採取行動的每個的外<div>jQuery的「查找」未定義

的內<div>在頁面的.ready(),我迭代通過每個$('.outer').each()調用doSomething()函數,然後嘗試find()<div class='inner'>

的問題是,該方法.find()

對象故障不支持屬性或方法「查找」

下面是視圖源(從IE11)來演示問題。

標記

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 

<div class="outer"> 
    <div class="inner"> 
     1 
    </div> 
</div> 
<div class="outer"> 
    <div class="inner"> 
     2 
    </div> 
</div> 
<div class="outer"> 
    <div class="inner"> 
     3 
    </div> 
</div> 

<script src="Scripts/jquery-1.10.2.js"></script> 
<script src="Scripts/jquery.fittext.js"></script> 
<script src="Scripts/jquery.cycle.lite.js"></script> 
<script src="Scripts/jquery.validate.js"></script> 
<script src="Scripts/jquery.validate.unobtrusive.js"></script> 
<script src="Scripts/bootstrap.js"></script> 
<script src="Scripts/respond.js"></script> 
<script src="Scripts/moment.js"></script> 

<script type="text/javascript"> 
    $(function() { 
     $(".outer").each(function() { doSomething(this); }) 
    }) 

    function doSomething(divO) { 
     debugger; 
     var divI = divO.find("inner"); 
     console.log(divI); 
    } 
</script> 

當中斷調試,評估對IDE divO.tagName(Visual Studio中),它說,它實際上是一個Div標籤

+0

什麼將是你期望從這個代碼的輸出? – stylishCoder

+0

'divO.find(「inner」)'應該是'divO.find(「。inner」)'(缺少一個點) – LinkinTED

+2

'div0'不是jQuery對象。只需一個DOM對象...使用'$(div0).find('。inner')'來解決你的問題。 – evolutionxbox

回答

2

使用:

var divI = $(divO).find(".inner"); 
+0

您將從上述代碼中得到的輸出結果是什麼? – stylishCoder

+0

非常感謝 –