我正在尝试将表变量作为mailto主题传递。
我正在使用此脚本来执行div ID,但不确定如何为类执行此操作 - getElementsByClassName
不起作用。我该怎么做?
按钮:
<button name="mail_button" onclick="mail_content()">Mail</button>
脚本:
function mail_content() {
var tableContent = document.getElementById("mailcontent").innerHTML;
var mBody = "" + tableContent + "";
document.location.href = "mailto:test@domain.com?subject=Titel&body=" + mBody;
}
元素我希望从以下方面获得变量:
<td class="mailcontent">N7P47AA</td>
答案 0 :(得分:2)
你必须使用index.Class不像id那样唯一。
document.getElementsByClassName("mailcontent")[0].innerHTML
1) 通过唯一的ID选择它。
2) 通过类和索引组合选择它。
以下是Docs: https://developer.mozilla.org/en/docs/Web/API/Document/getElementsByClassName
function mail_content() {
var tableContent = document.getElementsByClassName("mailcontent")[0].innerHTML;
var mBody = "" + tableContent + "";
document.location.href = "mailto:test@domain.com?subject=Titel&body=" + mBody;
}
mail_content();
<table>
<td class="mailcontent">N7P47AA</td>
</table>
答案 1 :(得分:1)
您正在执行document.getElementById(“mailcontent”),但您要查找的元素没有ID属性。目前,您的元素具有mailcontent的class属性,因此您有两个选项:
将document.getElementById更改为:
document.getElementsByClassName("mailcontent")[0].innerHTML
请记住,document.getElementsByClass名称返回一个数组,而不是一个数组 单项,因此添加[0],这样你就可以得到第一项 数组