我试图使用jquery将php文件中的一段代码放入我的index.php文件中。我使用jQuery的函数load()
来实现这一点,对此我没有任何问题。
问题是这段代码没有得到正确的解释。在本例中,我导入了一个span
,为了查看这个跨度是否正确导入到index.php中,我使用了jQuery click
函数
我想要导入的php代码
//myText.php
<?php
echo '<span>theSpan</span>';
?>
然后jQuery代码
//scripts.js
$(document).ready(function(){
$(".my-php").load("myText.php");
$("span").click(function(){
alert( "Success : it's a span !" );
});
});
index.php 的php
//index.php
<body>
<div class="my-php">
</div>
</body>
因此,当我点击phpdiv中的span时,我应该会看到"Success : it's a span"
。但什么也没发生。跨度在这里,文本为'theSpan'
,但当我点击它时,什么也没发生。
我试着解决了这个问题,但这是一个非常奇怪的行为。我将jQuery代码更改为:
$(document).ready(function(){
var StrPhp = 'test';
alert("1 - StrPhp : " +StrPhp); //Return 'test'
$(".my-php").load("myBets.php", function(str){
StrPhp = str;
alert("2 - StrPhp : " +StrPhp); //Return '<span>theSpan</span>'
});
$(".my-php").html(StrPhp);
});
因此,我用'test'
初始化一个变量StrPhp。我试图用StrPhp = str
捕获load function
的回调。然后我尝试用html function
放入我的phpdiv。它不起作用。跨度在这里,文本为'theSpan'
,但当我单击时,什么都没有。
但是!!
$(document).ready(function(){
var StrPhp = 'test';
alert("1 - StrPhp : " +StrPhp); //Return 'test'
$(".my-php").load("myBets.php", function(str){
StrPhp = str;
alert("2 - StrPhp : " +StrPhp); //Return '<span>theSpan</span>'
});
alert("3 - StrPhp : " +StrPhp); //Return 'test'
alert("4 - StrPhp : " +StrPhp); //Return '<span>theSpan</span>' !!!
$(".my-php").html(StrPhp);
});
html() function
之前有两个警报,它可以工作!span进入我的phpdiv,并被解释。我的意思是,当我点击它时,我可以看到"Success : it's a span"
。如果没有这些警报,jQuery就不会解释跨度,当我单击时,什么也不会发生。
显然,这并没有解决,因为每次遇到这个问题时,我都不想使用警报。
所以,如果有人能帮助我,我将不胜感激!
使用完整的参数:
$(document).ready(function(){
$(".my-php").load("myText.php",function () {
$("span").click(function(){
alert( "Success : it's a span !" );
})
});
});
你可以像这个一样使用jQuery.on
$(document).ready(function(){
$(".my-php").load("myText.php");
$(".my-php").on('click','span',function(){
alert( "Success : it's a span !" );
});
});