【发布时间】:2017-02-12 15:34:58
【问题描述】:
我想为具有特定内容的标签找到一个 jquery 选择器。
所以用下面的html
<label for="foo1">Name</label>
<input type="text" name="foo1" id="foo1" value="Fadime"/>
<label for="foo2">SecondName</label>
<input type="text" name="foo2" id="foo2" value="Alice"/>
我希望能够通过前面标签的内容访问“Fadime”内容。我不想使用输入的名称或 id,因为它们是自动生成的并且可能会更改。标签的内容将保持不变。对于我知道我可以使用的第二个名字:
var second_name = $("label:contains('SecondName')").next().val();
但是,我无法通过以下方式获取名字的内容:
var name = $("label:contains('Name')").next().val();
因为这将匹配两个标签(因为两者都包含“名称”)。
是否有一些 equals-method 或 startsWith 以便我可以使用
var name = $("label:equals('Name')").next().val();
提前致谢!
【问题讨论】:
-
在这里按预期工作:jsfiddle.net/x8etc6yq 你的问题是什么???
-
现在如果你想要完全匹配,你需要过滤它:jsfiddle.net/x8etc6yq/1
-
如果您需要完全匹配,只需在条件中使用
$(this).text().trim() == "Name"。
标签: jquery label selector contains startswith