我已经检查了以下链接:
jQuery :contains(), but to match an exact string
但是一旦找到div,我就必须设置属性:
$('#viewer .textLayer div:contains('+hotspot_draw_join+')').each(function () {
$(this).attr('class','secondtypehotspot secondtypehotspot_ref');
$(this).attr('id',hotspotstr);
$(this).attr('onclick','secondtypehotspotfn(event)');
});
如何使用过滤器选项
答案 0 :(得分:1)
您可以尝试这样。它工作正常。
<div id="id">
<p>John</p>
<p>Johny</p>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
var results = $('#id').find('*').filter(function () {
if ($(this).text() === 'John') {
$(this).attr("data-val", "hello");
return $(this).text() === 'John';
}
});
results.css('color', 'red');
</script>