Javascript 获取对具有特定值的元素的引用
我想使用jQueryCSS选择器获取对具有特定文本值的elment的引用 例如:Javascript 获取对具有特定值的元素的引用,javascript,jquery,Javascript,Jquery,我想使用jQueryCSS选择器获取对具有特定文本值的elment的引用 例如: <table > <tbody> <tr> <td> <i>MYVAL</i> <!-- I want the reference to this element--> </td> </tr> </tbody> </table> 哪种语法正确?使用此
<table >
<tbody>
<tr>
<td>
<i>MYVAL</i> <!-- I want the reference to this element-->
</td>
</tr>
</tbody>
</table>
哪种语法正确?使用此代码
$('table tr td i:contains("MYVAL")').SomeFunction()
演示:注意这不是使用纯CSS选择器 使用.filter():
如果你问的是jQuery问题,请不要用CSS给它加上标题。文本“MYVAL”的术语不是
值
,而是内容
。术语“值”用于实际具有“值”属性的
元素(等)。但这是关于css选择器的aso…@DanieleB这主要是一个jQuery问题,通常不应该在问题的标题中包含标记。问题已经有标记来指定问题所涉及的内容。您不能使用CSS选择器或jQuery选择器(甚至使用:contains()
)根据元素的确切文本内容选择元素。您必须手动检查它的文本。这将匹配其内容中包含MYVAL
的任何
元素,即使其内容不完全等于MYVAL
。我不确定这是否能满足问题的要求。什么不使用纯CSS选择器?
$('table tr td i:contains("MYVAL")').SomeFunction()
function selectTextElement(text) {
var elements = [];
$('table tbody tr td i').each(function() {
if (jQuery(this).text() == text) {
elements.push(jQuery(this));
}
});
return elements;
}
$('table tbody tr td i').filter(function(){return $(this).text() == "MYVAL"}).SomeFunction();