我用php封装了一个方法,用js里的innerHTML输出php方法,在用jquery控制方法里的属性可以吗?
例:<?php 
function a(){
$b = "<p class='co'><img src='11111' class='name'></p>";
return $b;
}?>
function fun3(){
var pObj = document.getElementById("div");
pObj.innerHTML = "<?php echo a();?>";
}
$(function(){
$(".co").mouseover(function(){
var imgname = $(this).children('img').attr('class');
$(this).children('img').attr('src','tmp/'+imgname+'_co.jpg');
});
$(".co").mouseout(function(){
var imgname = $(this).children('img').attr('class');
$(this).children('img').attr('src','tmp/'+imgname+'.jpg');
});
})

解决方案 »

  1.   

    应该可以吧,jquery只是一个js库。试试这样。$(document).ready(function(){
    $(".co").mouseout(function(){
    var imgname = $(this).children('img').attr('class');
    $(this).children('img').attr('src','tmp/'+imgname+'.jpg');
    });
    });
      

  2.   

    当然可以 我经常JS +jquery 混搭的
      

  3.   

    其实最好不要用混搭!jquery是完全可以实现js原生态的所有功能的!innerHTML在jquery里html()就代替可以了么!
    不要混搭的另一个重要原因是兼容性!有的浏览器或者不同的版本里面这样混搭是会有内存溢出而出现js报错,更甚至出现iexplorer卡死的问题
      

  4.   

    jQuery是JS子集,并不能完全代替JS,就比如对于DOM对象的操作,虽然可以用jQuery转回来,一则效率低下,二则你转回来最终还是在用JS原生态的功能。所以要看情况而定。
    楼主这样写是可以的,但是既然用了jQuery
    function fun3(){
    var pObj = document.getElementById("div");
    pObj.innerHTML = "<?php echo a();?>";
    }
    这个函数可以替换为:
    function fun3(){
    $("#div").html("<?php echo a();?>");
    }
    不过我没试过这样是不是会影响<?php echo a();?>这句代码的运行