使用母版页和jquery后问题真多,原本可以用document.getElementById("<%=ID.ClientID%>")取到控件,但是用了jquery后,找不到这个控件了,只能改为: document.getElementById("ContentPlaceHolder1_ID")才能使用。
郁闷。有哪位可指教!

解决方案 »

  1.   

    这应该和母板页jQuery没关心,给空间换个名字试试
      

  2.   

    母版页生成的ClientID
    是由占位符ID_控件ID组成你可以alert();弹出取出的node看是否为空
      

  3.   

    你的使用方法有问题。你是写在 aspx代码中的吗》?不能写js文件中
      

  4.   


    你说得很对,我原来写在aspx代码中,后来需要验证的js和jquery代码太多,就放在了js文件中。导致了这个问题。
    但是为什么放在js中就不行了呢?请教!
      

  5.   


    //如果写在js 文件中  建议写个函数 控件ID传进去 
    function test(id)
    {
      document.getElementById('id')
    }
      

  6.   

    谢谢,还是太麻烦了,要么就用document.getElementById("ContentPlaceHolder1_ID"),要么就放在aspx文件中了。可是为什么这样做是错的呢,希望【孟子E章】能够指教!
      

  7.   

    呵呵,话说大了吧。楼上的很多朋友大多提供了我困惑的解决思路。通过学习,我至少懂得了几个问题:
    一是js在文件中和代码中是不能完全一样的;
    二是服务器控件在母版页中id的变化是通过服务器运行后才返回的,说明单纯在客户端获得不了<%=id.ClientID%>的完全id,这也可以回答我指的用document.getElementById("ContentPlaceHolder1_ID")才能使用,document.getElementById("<%=ID.ClientID%>")找不到这个控件的原因。到这里来提问就是学习,我发现很多朋友很热心,我也相信很多高手都有不成熟甚至抄袭的阶段。像你这样从石头缝里出来就是“行者”(甚至比之厉害,孙悟空还曾拜师学过)的所谓高手,如果不原因回答问题,大可不做声。
      

  8.   

    alert("<%=ID.ClientID%>")看下和ContentPlaceHolder1_ID这个一样不!
      

  9.   


    谢谢h_bladem,可惜我刚刚结帖,已经给了分了,呵呵,下次再给你分