2017-09-08 14 views
-2

私はregexp経由でいくつかの特定の文字を入力に置き換えています。入力値を含むdivの内容を取得

本部のようになります。

1)<div>Text text text text <input> text text <input> text</div>

2)<div>text Text <input> text <input> text text Text</div>

は、私の場合のid '身体' とDIV()からの入力値を含めた全体のテキストを取得することが可能です?

のjQueryコード:

var body = data.body.replace(/\.\.\./g, "<input class='bodyy' type='text' size='2' />"); 
$("#body").html(body); 

フィドル:https://jsfiddle.net/uepf87fc/

+1

しないでください。代わりにパーサを使用してください。 – Jan

+0

どのような形式ですか?配列、オブジェクト?あなたは、文字列を連結したいですか?何を試しましたか? –

+0

どのパーサー?私はちょうど入力値を含むdivからテキストを取得したい –

答えて

1

は、ここでの例です:

function getTextWithInputValues(id) { 
    var element = document.getElementById(id); 
    if (!element) { 
     return null; 
    } 

    var elementText = element.innerHTML; // Get the entire text from your element 

    var elementInputs = element.getElementsByTagName('input'); // fetch all inputs from your element 

    // replace all input fields with their respective values 
    Object.getOwnPropertyNames(elementInputs).forEach(
     (input) => { 
      var inputText = elementInputs[input].outerHTML; 
      if (elementText.search(inputText) > 0) { 
       elementText = elementText.replace(inputText, elementInputs[input].value); 
      } 
     } 
    ); 

    return elementText; 

} 

あなたが検索で何かを入力した後、このコードを貼り付け、コンソールを開いて、右ここでそれをテストすることができますページの上部にあるボックス(だけで何かを入力し、検索をクリックしないでください)、あなたはコンソールで関数を呼び出すときにgetTextWithInputValues('search')ようにそれが出力何か

<svg ......</svg> 
your-text-here 
<button .....</button> 

ように願っますこれは役に立ちます。

+0

ああ私の神! Uはとても良いプログラマです!!!ありがとうございました! Uは私の一日を救った!大きな尊敬! –

-1

あなたがREGEXを求めたにもかかわらず、私はそれが必要な任意の手段によってであるとは考えていません。

これは配列内のデータを返します。最初のインデックスは本文テキストで、その後は各入力フィールド値です。あなたが機能して、それを自分で解析することができます

var values = []; 
values.push($('#body').text()); 

var inputs = $('#body input'); 

for(var i = 0; i < $(inputs).length; i++) 
{ 
    var currentElement = $(inputs)[i]; 
    values.push($(currentElement).val()); 
} 


console.log(values); 
+0

それは良いアイデアですが、テキストの中の正しい場所に入力値が正確に必要です。 –

+0

あなたの質問でそれを言及していいですね。 :| –

+0

申し訳ありませんが、アドバイスをいただきありがとうございます。 –

関連する問題