我有多个相同类型的控件,ID中间有'xyz':
<input type="text" id="AutoStuff_hfyrt_xyz_MoreStuf_123" />
<input type="text" id="AutoStuff_fyhrt_xyz_MoreStuf_7" />
如果我想要以“123”结尾的那个,我认为那将是:
var x = $("input[id*='xyz']").("[id$='123']").val()
但我收到一个错误,“标识符预期。”
答案 0 :(得分:2)
您可以使用.filter()
或只使用Multiple Attribute Selector组合两者。
// Using .filter()
var x = $("input[id*='xyz']").filter("[id$='123']").val();
// Using the Multiple Attribute Selector
var x = $("input[id*='xyz'][id$='123']").val();
答案 1 :(得分:0)
试
var x = $("input[id*='xyz']").$("[id$='123']").val();
或
var x = $("[id$='123']", $("input[id*='xyz']")).val();
在第二种情况下,您可能需要切换参数或选择器的顺序。
答案 2 :(得分:0)
var x = $('#AutoStuff_hfyrt_xyz_MoreStuf_123')将成为选择器。 []用于属性,所以我想也许这可能是造成错误的原因。
[attr] has attribute
[attr=val] has attribute with value val
[attr!=val] does not have attribute with value val
[attr^=val] attribute begins with val
[attr$=val] attribute ends with val
[attr*=val] attribute includes val
[attr~=val] attribute includes val as a word
[attr|=val] attribute begins with val and optional hyphen
来自jquery袖珍指南。