2010-08-27 60 views
4

我已经继承了一些JavaScript,但目前并不像预期的那样工作。这是一个棘手的问题:jQuery:什么是“输入[@checked],输入[@ type ='text']”查找?

jQuery("#theForm") 
    .find("input[@checked], input[@type='text'], options[@selected], textarea") 
    .each(function() { ... }); 

我不熟悉的[@]语法(尽管它似乎很清楚什么都想有发生),和我没有找到的文档。任何人都可以告诉我,如果这是有效的jQuery?

+0

我只是好奇,你是否在这里序列化AJAX提交表单?这就是它的样子,如果是这种情况,那么就有内置方法:) – 2010-08-27 14:11:28

回答

1

在选择的@是无效的,现在,你需要离开了这一点:

input[type='text'] 

所以,你应该从你的代码中删除的@所有实例。

jQuery('input:checked') // gets all checked input fields 
jQuery("input[type='text']") // gets all text input fields 
jQuery("select option:selected").text() // gets text of selected option in dropdown 
1

“[...]”基本上是指“其中有”。

“@name” 表示属性 “名称”

所以 “输入[@类型= '文本']” 指的是文本输入元件(<input type='text'>

'@' 是XPath的正确的语法但是,它没有被CSS使用,现在jQuery已经切换到了CSS格式,所以它应该被删除。

0

这里是如何做到这一点:

  • For checked选择:input:checked
  • 对于输入文本:input[type=text]
  • 对于选择:option:selected

'@' 将只与一些老的jQuery库工作,因为它现在已经过时。

相关问题