在jquery中使用上下文的选择器

时间:2012-12-11 00:22:14

标签: jquery selector

使用jQuery,我执行以下操作

MyCompaniesInfo = $('input[name^="Companies"]');

控制台给了我这个(Firebug):

MyCompaniesInfo


Object[input b1280bf5...73a2a334, input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__IsExist False, input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__Type Company, 29 more...]

0 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__Name.text-box
1 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__phone.text-box
2 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__address.text-box
3 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__street.text-box
4 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__anotherthing.text-box
5 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__another.text-box
6 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__blabla.text-box
7 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__loremipsum.text-box

8 input#Companies_b1280bf52a1b1-53e973a2a334__Name.text-box
9 input#Companies_b1280bf5a1b1-53e973a2a334__phone.text-box
10 input#Companies_b1280bf5a1b1-53e973a2a334__address.text-box
11 input#Companies_b1280bf5a1b1-53e973a2a334__street.text-box
12 input#Companies_b1280bf5a1b1-53e973a2a334__anotherthing.text-box
13 input#Companies_b1280bf5a1b1-53e973a2a334__another.text-box
14 input#Companies_b1280bf5a1b1-53e973a2a334__blabla.text-box
15 input#Companies_b1280bf5a1b1-53e973a2a334__loremipsum.text-box

...

现在我想要以“名称”结尾的所有字段,例如,我试过这个:

$('input[name$="Name"]', MyCompaniesInfo).val('Name');

但这不起作用。如何在MyCompaniesInfo = $('input[name^="Companies"]');之后继续使用jquery进行选择?

1 个答案:

答案 0 :(得分:1)

问题在于,当您使用第一个选择器MyCompaniesInfo = $('input[name^="Companies"]');时,您将在MyCompaniesInfo中存储一系列元素。

然后,如果您要过滤必须使用filter的元素,请执行以下操作。

$(MyCompaniesInfo).filter('input[name$="Name"]')

为什么以下代码无法运行? $('input[name$="Name"]', MyCompaniesInfo)
因为它与$(MyCompaniesInfo).find('input[name$="Name"]')相同,只查找搜索到的DOM树,就像在api上描述的那样。

Given a jQuery object that represents a set of DOM elements, the .find() method allows us to search through the descendants of these elements in the DOM tree and construct a new jQuery object from the matching elements.

在这里,您可以看到demo