Javascript获取自定义按钮的文本值

前端之家收集整理的这篇文章主要介绍了Javascript获取自定义按钮的文本值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个按钮定义如下:
<button type="button" id="ext-gen26" class=" x-btn-text">button text here</button>

我正在尝试根据文本值来抓取它,但是它的属性都不包含文本值.它通过它的外观以非常自定义的方式生成.

有没有人知道通过编程方式找到这个值,除了通过html文本?除了属性

忘了一个其他事情,这个按钮的id定期更改,并且使用jQuery来抓取它会导致某些原因破坏页面.如果你需要任何背景,为什么我需要这个,让我知道.

这是我试图抓住它的javascript:

var all = document.getElementsByTagName('*'); 
for (var i=0,max=all.length; i < max; i++) 
{
var elem = all[i];
if(elem.getAttribute("id") == 'ext-gen26'){
    if(elem.attributes != null){
        for (var x = 0; x < elem.attributes.length; x++) {
            var attrib = elem.attributes[x];
            alert(attrib.name + " = " + attrib.value);  
        }
    }
}
};

它只返回在代码中定义的三个属性.

innerHTML,text和textContent都返回为空.

解决方法

如果您想通过其文本内容完全找到该按钮,我将获取所有按钮的列表,并循环查找这些按钮:
function findButtonbyTextContent(text) {
  var buttons = document.querySelectorAll('button');
  for (var i=0,l=buttons.length; i<l; i++) {
    if (buttons[i].firstChild.nodeValue == text)
      return buttons[i];
  }  
}

当然,如果这个按钮的内容改变了一点你的代码将需要更新.

猜你在找的JavaScript相关文章