假设我在做代码。此代码使用kontextua广告
<div class="pread">
<div class="postad kontextuaDisplayREGULARS728x90">
<div style="display: block !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; overflow-x: hidden !important; overflow-y: hidden !important; padding-bottom: 2px !important; padding-left: 4px !important; padding-right: 4px !important; padding-top: 2px !important; z-index: 10000 !important; ">
<iframe style="display: block; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; overflow-x: hidden; overflow-y: hidden; background-position: initial initial; background-repeat: initial initial; " frameborder="0" width="728px" height="90px" src="javascript:(function(){return '<html><meta http-equiv=\'Content-Type\' content=\'text/html\' charset=\'UTF-8\'></meta><head><style> html { overflow:hidden; } body { background-color:transparent; float:left; padding:0; margin:0; overflow:hidden; height:90px;width:728px;} .contenido{margin:0}</style></head><body><div class=\'contenido\' id=\'banner\'><SCRIPT TYPE=\'text/javascript\' SRC=\'http://ad.yieldmanager.com/st?ad_type=ad&ad_size=728x90§ion=2871061\'></SCRIPT></div></body></html>'})()"></iframe>
</div>
</div>
</div>
点击时我不知道并将CSS应用于父“.pread”。我怎么能这样做?
<script>
$(".postad").live('click', function(){
alert("clicked");
$(this).parent().css({
'backgroundImage' : 'url(http://cdn1.iconfinder.com/data/icons/DarkGlass_Reworked/128x128/actions/camera_test.png)',
'backgroundColor' : 'limeGreen'
});
});
</script>
但它不起作用。谢谢!
答案 0 :(得分:3)
如果您将一些实际内容提供给iframe以外的postad div,则您的代码可以正常运行。如果您点击我添加到该div的xxx,您可以see it work here。
如果您单击iframe
,则无效,因为点击不会从iframe
冒出来进入父对象,因此当您点击iframe时,不会收到任何点击事件postad
div。如果您点击iframe,点击就会停止。
可以拦截来自父页面的iframe上的点击,但这涉及在iframe的顶部放置透明div,以便父页面获得点击,而不是iframe。你可以在这里看到透明的div想法:http://jsfiddle.net/jfriend00/h2WTB/ - 只需点击下载图片,点击将由透明div处理,它会冒泡到你的postad
事件处理程序。
答案 1 :(得分:0)
你的CSS属性错了。他们是连字符,而不是camelCase。
$(this).parent().css({
'background-image' : 'url("http://cdn1.iconfinder.com/data/icons/DarkGlass_Reworked/128x128/actions/camera_test.png")',
'background-color' : 'limeGreen'
});
答案 2 :(得分:-2)
试试这个
<script>
$(document).ready(function(){
$(".postad").click(function(){
alert("clicked");
$(this).parents('.pread').css({
'backgroundImage' : 'url(http://cdn1.iconfinder.com/data/icons/DarkGlass_Reworked/128x128/actions/camera_test.png)',
'backgroundColor' : 'limeGreen'
});
});
});
</script>
它应该运作良好:)