2015-03-31 127 views
0

作品爲什麼jQuery片段在沒有IFrame的情況下工作,但沒有IFrame?

$("a").on("click", function(e) { 
 
    alert(1); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div> 
 
    <a href="#">Link</a> 
 
</div>

不工作

$("a").on("click", function(e) { 
 
    alert(1); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div> 
 
    <a href="#">Link</a> 
 
</div> 
 
<iframe id="myIframe" src="" style="width: 200px; height: 200px;" />

+3

因爲您的標記是無效的。一個'iframe'不是一個無效的元素。 – undefined 2015-03-31 21:27:51

+0

事實上 - 用'>​​''交換'/>',你會看到它的工作。 [MDN - iframe](https://developer.mozilla.org/en/docs/Web/HTML/Element/iframe):_Tag omission無,起始和結束標記都是強制性的._ – 2015-03-31 21:31:19

+0

感謝您指出我的MDN參考。 – 2015-03-31 21:32:54

回答

3

因爲您的標記是無效的。 iframe不是一個無效的元素。您應該正確關閉iframe

在我的Chrome瀏覽器的第一個呈現的HTML:

<html><head> 
    <style> 

    </style> 
</head> 
<body> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<div> 
    <a href="#">Link</a> 
</div> 
    <script type="text/javascript"> 
     $("a").on("click", function(e) { 
    alert(1); 
}); 
    </script> 

</body></html> 

第二個:

<html><head> 
    <style> 

    </style> 
</head> 
<body> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<div> 
    <a href="#">Link</a> 
</div> 
<iframe id="myIframe" src="" style="width: 200px; height: 200px;"> 
    &lt;script type="text/javascript"&gt; 
     $("a").on("click", function(e) { 
    alert(1); 
}); 
    &lt;/script&gt; 
&lt;/body&gt; 
&lt;/html&gt;</iframe></body></html> 
相關問題