2つのフィールドを持つテーブルがあります.1つは「名前」、HTMLクラスは「名前」、もう1つはHTMLクラス「メール」の「メール」です。名前の値に応じてメールの値を設定します。
<table>
<tr>
<td colspan="2">User Email</td>
</tr>
<tr>
<td class="name">Albert Einstein</td>
<td class="mail"></td>
</tr>
</table>
だから私はこのようなメールリストを持って言うことができます:
- 名:アルバート・アインシュタイン、メール: "[email protected]"
- 名:アイザックニュートン、メール: "[email protected]"
- 名前:アリス・ニュートン、メール:「[email protected]」
私が欲しいものは、名前フィールドに応じて、メールフィールドの値を設定することです。
@Ganesan Sanから共有このJavaScriptコードは、ほとんどの仕事をするようだ:
var emails = ["[email protected]", "[email protected]", "[email protected]"];
var name_elements = document.querySelectorAll("td.name");
var mail_element = document.querySelectorAll("td.mail");
for (i = 0; i < name_elements.length; i++) {
var current_element = name_elements[i];
var name = current_element.textContent;
for (j = 0; j < emails.length; j++) {
if (emails[j].indexOf(name) != -1) {
mail_element[i].textContent = emails[j];
break;
}
}
}
しかし、それは名前に大文字やスペースでは動作しませんので、どのように我々はそれを動作させるために、このコードを修正することができます大文字と姓と名の間にスペースがありますか?
- 名:アイザック・ニュートン、メール:「[email protected]」
- 名:アリスニュートンは、メール:「anewtonの@会社も同様のメールを持つ人に属する電子メールを検出するために、例を参照してください。 com」
@Alexander Higginsと@Tushar Vaghelaのおかげです。両方の答えは素晴らしい作品です。大文字に対処するための
に役立つ電子メールの形式は何ですか?フルネーム ?インタルタール+フルネーム?もし私が「アインシュタイン」に入ったら? – Weedoze
@Weedozeコードを参照してください:var emails = ["[email protected]"、 "[email protected]"、 "[email protected]"];インティタール+姓は変わりますが、名前の形式も常に同じです姓と名: – RocketFuel
'albert @ company.com'はイニシャル+ラストネームではありません...どのように変えることができますか? – Weedoze