我无法编辑此代码以使其在基于文本的按钮(而不是基于类的按钮)中工作,或者无法同时针对类名称和文本进行编码。
例如:
<button class="same">plz-click-me</button>
<button class="same">dont-click-me</button>
现在我要代码单击“ click-me”按钮
这是我在代码中按班级点击的方式
var inputs = document.querySelectorAll('.same:not(.hidden_elem)');
感谢并希望找到答案对我有帮助
答案 0 :(得分:1)
您必须遍历可能的匹配元素,然后选择textContent
与您想要的元素匹配的元素。您不能使用jQuery的.contains
,因为子串click-me
包含在don't-click-me
中:
const matching = Array.prototype.filter.call(
document.querySelectorAll('.same'),
({ textContent }) => textContent === 'click-me'
);
console.log(matching);
<button class="same">click-me</button>
<button class="same">dont-click-me</button>
请注意,如果您不想选择的元素的子字符串不包含在您不想选择的元素中,则您可以使用{{1} }:
.contains
$('.same:contains("click-this-here")').click(() => console.log('clicked'));
答案 1 :(得分:0)
var buttons = document.querySelectorAll("button");
var clickButton = Array.from(buttons).filter( button => button.textContent === "click-me")[0];
<button class="same">click-me</button>
<button class="same">dont-click-me</button>