如果
,我需要隐藏iframe
src is "http://".
我试图做的事情:
<script type="text/javascript">
if ( $('iframe[src][src="http://"]') )
document.getElementById('iframe').style.display='none';
else
document.getElementById('iframe').style.display='block';
</script>
和html
<iframe id="iframe" src="url" ></iframe>
答案 0 :(得分:2)
您必须将jQuery选择器更改为iframe[src="http://"]
,否则更好的解决方案是使用CSS隐藏您的iframe。
当您处理与风格相关的事情时,您应该始终使用CSS而不是javascript。
iframe[src="http://"] {
display: none;
}
&#13;
<iframe src="http://"></iframe>
<iframe src=""></iframe>
&#13;
答案 1 :(得分:1)
试试这个:
<script>
function checkFrame(){
if($('iframe[src][src="http://"]'))
document.getElementById('iframe').style.display='none';
else
document.getElementById('iframe').style.display='block';
}
</script>
并在需要检查时调用该函数。也许是body标签上的onLoad
参数?
但我必须问,为什么&#34;否则&#34;显示它,默认情况下会显示。
此外,如果值为null,该怎么办?
嗯,希望有所帮助!
答案 2 :(得分:1)
您可以将onload
处理程序附加到iframe
:
var iframe = document.getElementById('iframe');
iframe.onload = function() {
if(iframe.src == 'http://') {
iframe.style.display = 'none';
} else {
iframe.style.display = '';//default
}
}
答案 3 :(得分:0)
如果你想隐藏只有src="http://"
的iframe,可以使用jQuery和一些正则表达式来实现。
注意:在Chrome中,&#34; http://&#34;的src报告为&#34; http:&#34;。在iOS上的Safari和Chrome中,报告为&#34; http:/&#34;。为了解释这种差异,可以使用简单的正则表达式。
$('iframe').each(function() {
var src = this.src.toLowerCase();
if (/^http:[\/]{0,2}$/i.test(src)) {
$(this).hide();
} else {
$(this).show();
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
1. http://<br><iframe id="iframe" src="http://"></iframe><br>
2. http://blog.stackoverflow.com/wp-content/uploads/stackoverflow-logo-300.png<br><iframe id="iframe" src="http://blog.stackoverflow.com/wp-content/uploads/stackoverflow-logo-300.png"></iframe><br>
&#13;
如果您还想隐藏src=""
或没有设置src或src="https://"
的iframe,您可以使用以下代码。 src === self.location.href
的条件src=""
测试。正则表达式/^https?:[\/]{0,2}\w/i
测试&#34; http(s)://&#34;加一个字的字符。如果未找到,则隐藏iframe。非http(s)src&#39; d iframe也被隐藏。
$('iframe').each(function() {
var src = this.src.toLowerCase();
if (src === self.location.href || !/^https?:[\/]{0,2}\w/i.test(src)) {
$(this).hide();
} else {
$(this).show();
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
1. http://<br><iframe id="iframe" src="http://"></iframe><br>
2. https://<br><iframe id="iframe" src="https://"></iframe><br>
3. http://blog.stackoverflow.com/wp-content/uploads/stackoverflow-logo-300.png<br><iframe id="iframe" src="http://blog.stackoverflow.com/wp-content/uploads/stackoverflow-logo-300.png"></iframe><br>
4. ""<br><iframe id="iframe" src=""></iframe><br>
5. (blank)<br><iframe id="iframe"></iframe><br>
6. "a.htm"<br><iframe id="iframe" src="a.htm"></iframe><br>
7. src<br><iframe id="iframe" src></iframe><br>
&#13;