我有一个看起来像这样的按钮
<button aria-label="Connect with Yam Jeji" data-control-name="srp_profile_actions" class="search-result__actions--primary button-secondary-medium m5" data-ember-action="" data-ember-action-6020="6020" data-is-animating-click="true">
按钮内有aria-label
,它看起来像这样。
aria-label="Connect with Yam Jeji"
现在,在这里,我只想选择/获取名称Yam Jeji
如何使用JavaScript实现此目标?例如,我有多个具有不同名称的按钮,并且名称不是静态的,即我们的aria标签可以是
aria-label="Connect with Yam Jeji"
aria-label="Connect with Varun Bidhu"
aria-label="Connect with Yaon Titu"
我如何才能在这里获得名称(“连接”在这里是静态的)
答案 0 :(得分:2)
要获得预期结果,请使用以下选项
1.使用querySelector获取所有元素。
2.遍历元素数组。
3.使用getAttribute方法获取aria标签值。
4.使用拆分和弹出来获取特定的单词。
var ariaTxt = document.querySelectorAll('[aria-label]');
ariaTxt.forEach(v =>{
console.log(v.getAttribute('aria-label').split("Connect with ").pop())
})
<button aria-label="Connect with Yam Jeji" data-control-name="srp_profile_actions" class="search-result__actions--primary button-secondary-medium m5" data-ember-action="" data-ember-action-6020="6020" data-is-animating-click="true">
答案 1 :(得分:1)
我不完全明白您的意思,但是如果您将字符串放入aria标签中,请在“ Connect With”处将其拆分,然后弹出该名称,即可得到名称。
例如。
buttonText = "Connect With Yam Jeji"
buttonText.split("Connect With ").pop();
console.log(buttonText);
它将输出“ Yam Jeji”
答案 2 :(得分:1)
1)添加onClick in按钮
<button onclick="teste(this)" aria-label="Connect with Yam Jeji" data-control-name="srp_profile_actions" class="search-result__actions--primary button-secondary-medium m5" data-ember-action="" data-ember-action-6020="6020" data-is-animating-click="true">
teste</button>
2)在上方添加此功能
<script>
function teste(inp){
var ariaLabel = inp.getAttribute("aria-label");
ariaLabel = ariaLabel.replace("Connect with ", "");
alert(ariaLabel);
}
</script>
答案 3 :(得分:1)
这是一个带有正则表达式的健壮的jQuery解决方案:https://jsfiddle.net/xpvt214o/316543/
var ariaList = $("button[aria-label*='Connect with ']");
ariaList.each(function() {
console.log($(this).attr('aria-label').match(/Connect with (.*)/)[1]);
});
它还与没有es6(例如IE11)的旧版浏览器兼容。