0
$(".td").click(function() {
    switch (elementNode.previousSibling.id)
    {
  case "location"
    (".td").replaceWith('<input type="text" name="location"></input>');
    break;
  case "occ"
    (".td").replaceWith('<input type="text" name="occ"></input>');
    break;
  case "hobby"
    (".td").replaceWith('<input type="text" name="hobby"></input>');
    break;
    }
});

上記は私が使用しているJavascriptであり、ここにHTMLがあります

<div class="tr"><div class="td" id="location">{L_LOCATION}:</div> <div class="td">{LOCATION}</div></div>
<div class="tr"><div class="td" id="occ">{L_OCCUPATION}:</div> <div class="td">{OCCUPATION}</div></div>
<div class="tr"><div class="td" id="hobby">{L_INTERESTS}:</div> <div class="td">{INTERESTS}</div></div>

私がやりたいのは、誰かが「.td」divをクリックして入力フィールドに変えたときです。switchを使用する必要があると思う理由は、満たす必要のある条件がたくさんあり(コード内で確認できるように)、ifandelseステートメントが多すぎるためです。プログラミングを始めたばかりなので、これが正しく行われているかどうかはわかりません(ここでは完全な初心者なので、エラーがたくさんある場合はご容赦ください)HTMLタグ内に表示されるコンテンツは、場合に備えてテンプレート変数です。あなたは疑問に思っています。

4

1 に答える 1

0

私はこのコードをテストしました、そしてそれは働きます:

$(function() {   
$(".td").on('click', function() {
  var id = $(this).prev().attr("id");
  console.log(id);
        switch (id)
        {
          case "location":
        $(this).replaceWith('<input type="text" name="location"></input>');
        break;
          case "occ":
         $(this).replaceWith('<input type="text" name="occ"></input>');
        break;
          case "hobby":
         $(this).replaceWith('<input type="text" name="hobby"></input>');
        break;
        }        
 });
        });

http://jsbin.com/ogofus/1/edit

(白いテキストをクリックするだけです)

于 2012-10-26T02:11:34.497 に答える