我的时区早上好。
我的HTML页面中有这段代码
<span id="x>
<div onclick="$(this).applyFancybox({
trigger: !$.browser.msie,
target: (event.srcElement || event.target)
}); return false;">
我正在更改此代码
<span id="x">
<div>
</span>
<script>
...
$(document).ready (function () {
$("#x div")
.click(function(){
this.applyFancybox({
trigger: !$.browser.msie,
target: (event.srcElement || event.target)
}); return false;
});
}
...
</script>
这不起作用,因为我认为这不是指向div元素,我该如何解决?
提前致谢 最好的问候
答案 0 :(得分:1)
尝试将this
更改为$(this)
this
是一个javascript对象,$(this)
是一个jQuery对象
所以你的最终代码看起来像
$(document).ready (function () {
$("#x div")
.click(function(){
$(this).applyFancybox({
trigger: !$.browser.msie,
target: (event.srcElement || event.target)
}); return false;
});
}
顺便说一下,$.browser.msie
也从1.3弃用,并在1.9
答案 1 :(得分:0)
尝试以下可能有帮助的代码
<span id="x">
<div>
</span>
<script type="text/javascript">
...
$(document).ready (function () {
$("#x").click(function(){
this.applyFancybox({
trigger: !$.browser.msie,
target: (event.srcElement || event.target)
}); return false;
});
}
...
</script>
Happy Codings:)
答案 2 :(得分:0)
事件处理程序this
内部指向HTMLDivElement
而不是jQuery对象。没有这样的方法applyFancybox
。试试$(this)
。