Javascript获取自定义按钮';s文本值
我有一个按钮,定义如下:Javascript获取自定义按钮';s文本值,javascript,html,Javascript,Html,我有一个按钮,定义如下: <button type="button" id="ext-gen26" class=" x-btn-text">button text here</button> 按钮文本在这里 我试图根据文本值获取它,但是,它的所有属性都不包含文本值。从外观上看,它是以一种非常定制的方式生成的 除了浏览html文本之外,还有人知道通过编程找到这个值的方法吗?除了属性之外 忘了另一件事,这个按钮的id会定期更改,使用jquery抓取它会导致页面因某种原因被
<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);
}
}
}
};
var all=document.getElementsByTagName('*');
对于(变量i=0,max=all.length;i
它只返回代码中定义的三个属性
innerHTML、文本和文本内容都返回为空。您可以通过
textContent
/innerText
属性(取决于浏览器)执行此操作。下面是一个无论浏览器使用哪种属性都有效的示例:
var elem = document.getElementById('ext-gen26');
var txt = elem.textContent || elem.innerText;
alert(txt);
您也可以使用jQuery来完成这项工作:
alert($('#ext-gen26').text());
如果您试图完全通过按钮的文本内容来定位按钮,我会抓取所有按钮的列表,并循环查找这些按钮:
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];
}
}
函数findButtonbyTextContent(text){
var buttons=document.queryselectoral('button');
对于(var i=0,l=buttons.length;i一行,用于根据按钮的文本查找按钮
const findButtonByText = text =>
[...document.querySelectorAll('button')]
.find(btn => btn.textContent.includes(text))
“文本值”就是“html文本”;这就是你所能做的,因为它是DOM中唯一存在的位置。编辑,等等;你想从按钮中获取文本,还是想根据它的内容找到按钮?你的问题的标题和第一句话的措辞有点冲突;“获取自定义按钮的文本值”与“我正试图根据文本值获取它”。“这意味着不同的事情。你想找到一个包含“button text here”内容的按钮,并对其进行处理吗?@Pointy-是的,最终我会根据标签之间的文本值,尝试在按钮本身上设置一个钩子。“textContent”和innerHTML都返回为空值:(@hacket如果这些值为null,则您没有对按钮的引用。您可能应该发布一些有问题的JavaScript代码。@Allan-是的,这是我的最终目标。此字段的ID是动态的,如果我使用jQuery获取它,则会导致页面的其余部分无法正常工作。感谢解决方案,但是,我更新为reflect显示ID和jquery在我的情况下不起作用。这接近于我最终实现的结果。根本无法使用任何属性选择该按钮。