2017-08-30 6 views
3

mailto件名としてテーブル変数を渡そうとしています。mailto件名としてテーブル変数を送信する

私はこのスクリプトを使用してdiv IDを処理していますが、クラスに対してこれを行う方法がわからない - getElementsByClassNameは機能しません。どうすればいいですか?

ボタン:

<button name="mail_button" onclick="mail_content()">Mail</button> 

スクリプト:私はからvarableをfectしたい

function mail_content() { 
    var tableContent = document.getElementById("mailcontent").innerHTML; 
    var mBody = "" + tableContent + ""; 
    document.location.href = "mailto:[email protected]?subject=Titel&body=" + mBody; 
} 

要素:あなたがのdocument.getElementById( "mailcontent")を行っている

<td class="mailcontent">N7P47AA</td> 
+1

HTTPS [querySelectorAll、のgetElementsByClassNameおよびその他のgetElementsBy \ *メソッドは何を返しますか?](の可能性の重複:// stackoverflowのここ

それのためのドキュメントです。 com/questions/10693845/what-do-queryselectorall-getelementsbyclassname-and-other-getelementsby-method) – Xufox

答えて

1

、探している要素にはID属性がありません。現在、あなたは2つのオプション持っているので、あなたの要素は、mailcontentのクラス属性を持つ:

  1. があなたの要素にID属性を追加し、それにmailcontent
  2. 変更のdocument.getElementByIdのIDを与える:

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

    はdocument.getElementsByClass名はしたがって配列はなく、 単一のアイテム、[0]の添加を戻しますので、 配列の最初の項目を取得することができ、覚えて

+0

ありがとうございます - 何らかの理由でまだ未定義です。 – user3344734

+0

どのオプションを試しましたか? –

+0

私は2番目の選択肢をidに与えることはできません。 – user3344734

2

インデックスを使用する必要があります。クラスはIDのようにユニークではありません。

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

1) 一意のIDで選択します。

2) クラスとインデックスの組み合わせで選択します。 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:[email protected]?subject=Titel&body=" + mBody; 
 
} 
 

 
mail_content();
<table> 
 
    <td class="mailcontent">N7P47AA</td> 
 
</table>

+0

ありがとうございます - それは何らかの理由でまだ私に未定義です。 – user3344734

+0

あなたが実行できるコードスニペットを追加しました –

+0

@ user3344734 Runコードスニペットをクリックするだけです –

関連する問題