2

我有多个相同类型的控件,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()

但我收到一个错误,“需要标识符”。

4

3 回答 3

2

您可以使用Multiple Attribute Selector.filter()或简单地将两者结合起来。

// Using .filter()
var x = $("input[id*='xyz']").filter("[id$='123']").val();

// Using the Multiple Attribute Selector
var x = $("input[id*='xyz'][id$='123']").val();

演示

于 2013-03-27T20:27:19.493 回答
0

尝试

var x = $("input[id*='xyz']").$("[id$='123']").val();

或者

var x = $("[id$='123']", $("input[id*='xyz']")).val();

在第二种情况下,您可能需要切换参数或选择器的顺序。

于 2013-03-27T20:26:30.177 回答
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 袖珍指南。

于 2013-03-27T20:26:54.870 回答