2012-06-12 62 views
0

我有一些DIV和腳本,可以編輯此DIV中的文本。點擊 - 腳本用TEXTAREA替換DIV,用戶可以編輯TEXT。在模糊 - 腳本必須刪除TEXTAREA並將編輯的文本插入到DIV中。 1.但該腳本替換頁面中的所有DIV,不僅編輯了一個...... 2.我想從該腳本製作插件。編輯其他元素,如H1,H2。等等......編輯元素的編號+ make插件

http://jsfiddle.net/ynternet/4a44G/1/

HTML

<div>Please click me DIV 1!!</div> 
<div>Please click me DIV 2!!</div> 
<div>Please click me DIV 3!!</div> 
<h1>Please click me H1 1!!</h1 > 
<h1>Please click me H1 2!!</h1 > 
<h1>Please click me H1 3!!</h1 > 

jQuery的

$(document).ready(function() {  

    $("div").click(function() { 
     if ($(this).children('input').length === 0) { 
      var inputbox = "<input type='text' class='inputbox' value=\""+$(this).text()+"\">"; 
      $(this).html(inputbox); 
      $("input.inputbox").focus();   
      $("input.inputbox").blur(function() { 
      var value = $(this).val(); 
      $("div").text(value); 
     }); 
     } 
    }); 

}); 

回答

1

試試這個 $(文件)。就緒(函數(){

$("div").click(function() { 
    if ($(this).children('input').length === 0) { 
      var nID=$(this); 
     var inputbox = "<input type='text' class='inputbox' value=\""+$(this).text()+"\">"; 
     $(this).html(inputbox); 
     $("input.inputbox").focus();   
     $("input.inputbox").blur(function() { 
      var value = $(this).val(); 
      $(nID).text(value); 
     }); 
    } 
}); 


$("h1").click(function() { 
    if ($(this).children('input').length === 0) { 
      var nID=$(this); 
     var inputbox = "<input type='text' class='inputbox' value=\""+$(this).text()+"\">"; 
     $(this).html(inputbox); 
     $("input.inputbox").focus();   
     $("input.inputbox").blur(function() { 
      var value = $(this).val(); 
      $(nID).text(value); 
     }); 
    } 
}); 

});

1

對此撥弄一下:http://jsfiddle.net/4a44G/13/

$("div").text(value); 

選擇所有元素小號div型的,但你必須選擇文本框父DIV,所以你必須寫:

$("input.inputbox").blur(function() { 
    var value = $(this).val(); 
    $(this).parent().text(value); 
}); 

如果標記可以改變,你也可以這樣寫:

$(this).closest('div').text(value); 

小提琴:http://jsfiddle.net/4a44G/9/

+0

謝謝,解決方案...是否有可能從這個腳本插件? – Patrik