javascript不会解析php html标签

时间:2009-09-11 12:42:22

标签: php javascript jquery ajax

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为什么会这样?

3 个答案:

答案 0 :(得分:1)

$("p .select").live ( "click" , function(){
        var str = $(this).text();
        alert(str);
  });

Events/live

  

将处理程序绑定到事件(如   点击)了解所有当前和未来 -   匹配元素。

答案 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>