将表变量作为mailto主题发送

时间:2017-08-30 11:11:54

标签: javascript jquery

我正在尝试将表变量作为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>

2 个答案:

答案 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属性,因此您有两个选项:

  1. 为您的元素添加ID属性,并为其指定mailcontent
  2. 将document.getElementById更改为:

    document.getElementsByClassName("mailcontent")[0].innerHTML

    请记住,document.getElementsByClass名称返回一个数组,而不是一个数组 单项,因此添加[0],这样你就可以得到第一项 数组