jquery - 无法访问ID具有点的字段的值

时间:2012-01-31 18:12:46

标签: jquery

我在html中定义了一个隐藏的输入字段。我正在访问输入字段的值,但获取undefined

HTML

<html>
   <head>
      <script src="js/jquery-1.6.4.js" type="text/javascript"></script>
      <script src="js/myjquery.js" type="text/javascript"></script>
</head>
<body>
   <form>
      <input type="hidden" name="hidden1" value="test" id="hidden1">
   </form>
</body>
</html>

更新HTML

<html>
   <head>
      <script src="js/jquery-1.6.4.js" type="text/javascript"></script>         
</head>
<body>
   <form>
       <script src="js/myjquery.js" type="text/javascript"></script>
      <input type="hidden" name="hidden1" value="test" id="hidden1">
   </form>
</body>
</html>

更新2 HTML

<html>
   <head>
      <script src="js/jquery-1.6.4.js" type="text/javascript"></script>         
</head>
<body>
   <form>
       <script src="js/myjquery.js" type="text/javascript"></script>
      <input type="hidden" name="sk.hidden1" value="test" id="sk.hidden1">
   </form>
</body>
</html>

JQuery的

$(document).ready(function () { 
   var inputParam = $("input#sk.hidden1").val();
   alert(inputParam);
});

2 个答案:

答案 0 :(得分:3)

在这里疯狂猜测,但你可能没有正确地包含jQuery。

尝试以下列方式包含jQuery:

<html>
   <head>
      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>         
</head>

修改

即使你的ID有效,它也会因为jQuery而将其视为id.class。

意味着它正在寻找ID = sk class = hidden1的字段。

如果你必须以这种方式工作,你应该让你的选择器有一个转义:

$('#sk\\.hidden1');

但是我会说你把你的ID重命名为其他人,并丢弃ID或类中点的用法。使用-_,因为两者都受支持。

The rules to name an ID are pretty simple:

  • 必须以字母A-Z或a-z
  • 开头
  • 可以跟着:字母(A-Za-z),数字(0-9),连字符(&#34; - &#34;)和下划线(&#34; _&#34;)< / LI>

答案 1 :(得分:2)

这对我有用

var inputParam = $("#hidden1").val();

这是jsfiddle

使用input#hidden1它仍然有效:

http://jsfiddle.net/FHTxb/1/input#hidden1)。

也许@ SK11的jquery没有正确包含在内?

尝试直接从谷歌中包含jquery:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

您甚至可能不会触发jQuery $(document).ready()