我尝试创建一个用于在div中搜索特定文本字符串的用户脚本,如果可用,请单击该特定div中的特定单选按钮。每页通常有多个div,每个div都需要单独处理。我已尝试使用next()和nextAll()的各种脚本,但我还没有接近让它工作。任何帮助将不胜感激。以下是编写目标页面的示例:
<div class="block">
<div>
<div class="place">Text to be searched
</div>
<div class="place">
<div id="question">
<input value="yes">
<input value="no">
</div>
</div>
</div>
</div>
多次,最多3次。我是javascript / jquery的新手,有没有人可以指点我的方向来获得这样的工作?谢谢!
编辑: 感谢非常有用的评论,我设法让它完全按照我需要的方式工作:
var arr = ['Keyword1', 'Keyword2', 'Keyword3'];
var i=0;
for (; i<arr.length; i++) {
$("div div.place.bg-dark:contains('"+arr[i]+"')").each(function() {
$(this).nextAll().find('input[type=radio][value=2]').click();
$(this).parent().parent().css("cssText", "border: 15px solid red !important;");
});
}
答案 0 :(得分:1)
使用if
过滤掉文本div或问题div,然后使用.filter()
查找并标记所需的.next('div.place')
按钮。
见下面的演示
radio
&#13;
var textToSearch = 'Text to be searched';
var valueToCheck='yes';
$(document).ready(function() {
$(".block div.place").filter(function() {
return $.trim($(this).text()) == textToSearch;
}).next('div.place').find('input[type="radio"][value="'+valueToCheck+'"]').prop('checked', true);
});
&#13;