php通过包含在<p class="select"></p>
标签中的ajax将html字符串发送到html,css完美地读取类。 javascript / jquery没有。 javascript / jquery甚至不会解析<p onclick="function()"></p>
。我做错了什么?
继承我的php(通过ajax发送数据)
echo "<p class='select' onclick='populate();' >{$row['song_name']} </p>";
继承人我的css(工作正常)
p.select{color:#fff;padding: 5px;margin:0}
p.select:hover{color:#fff;background:#f60;cursor:pointer;}
继承我的javascript 方法1 jquery。
$("p .select").click(function(){
var str = $(this).val();
alert(str);
});
方法2 onclick功能。
function populate()
{
alert('here')
}
两种方法都没有响应。 Guru为什么会这样?
答案 0 :(得分:1)
$("p .select").live ( "click" , function(){
var str = $(this).text();
alert(str);
});
见
将处理程序绑定到事件(如 点击)了解所有当前和未来 - 匹配元素。
答案 1 :(得分:1)
两件事:
p .select
会选择包含元素的<p>
标签。 p.select
选择<p class="select">
。populate
功能移到现场?我怀疑jquery live(或click)删除了任何显式处理程序。试试这个:
$("p.select").live("click",function()
{
var str = $(this).text();
alert(str);
populate();
});
答案 2 :(得分:0)
我在下面发布了一个有效的(在Firefox中)示例。我想你忘了把jquery方法放在onload事件中。除了其他(小)错误......
<html>
<head>
<style>
p.select{color:#fff;padding: 5px;margin:0}
p.select:hover{color:#fff;background:#f60;cursor:pointer;}
</style>
<script src="jquery-1.3.2.min(2).js" type="text/javascript"></script>
<script type="text/javascript">
function bodyOnLoad() {
//instead of "p .select" "p.select"
$("p.select").click(
function(){
//changed val() into text()
var str = $(this).text();
alert(str);
});
}
</script>
</head>
<body onload="bodyOnLoad()">
<p class='select'>Songname</p>
</body>
</html>