簡體   English   中英

如何在里面獲取文字 <p> 標簽

[英]How to get text inside <p> tag

我想在“ p”標簽中獲取字符串,當字符串更改時,我仍然能夠獲取最新的字符串。

但是我不知道如何從“ p”標簽中獲取字符串。

測試的幾種方法包括:

  1. .text();

  2. .val(); (我知道這是保留的輸入,只是嘗試...)

  3. .innerHTML();

我的HTML:

<p id="testprint">Original String</p>
<p id="getString"> EMPTY  </p>
<button id="Generate">Generate</button>
<button id="Change">Change</button>
<button id="getStr">Get String to first "p" tag</button>

我的JavaScript:

function print1st(){
    document.getElementById('testprint').innerHTML = "Generated New String";
}

function changeValue(){
    document.getElementById('testprint').innerHTML = "Change String Success";
}

function getStrfrom1st(){
    copystr = document.getElementById('testprint').text();
  //copystr = document.getElementById('testprint').val();
  //copystr = document.getElementById('testprint').html();
  //copystr = document.getElementById('testprint').innerHTML();
  document.getElementById('getString').innerHTML = copystr;
}

document.getElementById('Change').addEventListener('click',changeValue,false);
document.getElementById('Generate').addEventListener('click',print1st,false);
document.getElementById('getStr').addEventListener('click',getStrfrom1st,false);

預期結果:

單擊生成按鈕后,將生成新字符串,單擊“獲取字符串”按鈕將得到結果“生成新字符串”。

否則,如果我單擊第二個按鈕更改了第一個值,則一旦我單擊第三個按鈕將獲取更改的字符串。

這是我的JSFiddle: https ://jsfiddle.net/pxaw9xt4/1/

請檢查您的瀏覽器控制台,您可能會看到以下錯誤:

TypeError:document.getElementById(...)。text不是一個函數

而且正確的.text()不是javascript函數( text()val()都是jQuery方法),因此您應該使用.innerHTML.textContent例如:

copystr = document.getElementById('testprint').innerHTML;

注意: .innerHTML()方法不存在。

希望這可以幫助。

 function print1st(){ document.getElementById('testprint').innerHTML = "Generated New String"; } function changeValue(){ document.getElementById('testprint').innerHTML = "Change String Success"; } function getStrfrom1st(){ copystr = document.getElementById('testprint').innerHTML; document.getElementById('getString').innerHTML = copystr; } document.getElementById('Change').addEventListener('click',changeValue,false); document.getElementById('Generate').addEventListener('click',print1st,false); document.getElementById('getStr').addEventListener('click',getStrfrom1st,false); 
 <p id="testprint">Original String</p> <p id="getString"> EMPTY </p> <button id="Generate">Generate</button> <button id="Change">Change</button> <button id="getStr">Get String to first "p" tag</button> 

使用它來獲取HTML DOM中的文本內容。

var copystr = document.getElementById("testprint").textContent;

更新和工作提琴在這里

您將jQuery函數與普通JS混淆了。 val()text()都是jQuery中定義的函數,因此無法在普通JS節點上調用。 既然您已使用jQuery對此進行了標記,為什么不對所有內容都使用jQuery? 您可以使用on()將整個代碼段編寫如下:

 $('#Change').on('click', function() { $('#testprint').text('Change String Success'); }); $('#Generate').on('click', function() { $('#testprint').text('Generated New String'); }); $('#getStr').on('click', function() { $('#getString').text( $('#testprint').text() ); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <p id="testprint">Original String</p> <p id="getString"> EMPTY </p> <button id="Generate">Generate</button> <button id="Change">Change</button> <button id="getStr">Get String to first "p" tag</button> 


另外,如果您只想使用香草JS處理此問題,則可以按以下方式使用innerHTML屬性:

 function print1st() { document.getElementById('testprint').innerHTML = "Generated New String"; } function changeValue() { document.getElementById('testprint').innerHTML = "Change String Success"; } function getStrfrom1st() { copystr = document.getElementById('testprint').innerHTML; document.getElementById('getString').innerHTML = copystr; } document.getElementById('Change').addEventListener('click',changeValue,false); document.getElementById('Generate').addEventListener('click',print1st,false); document.getElementById('getStr').addEventListener('click',getStrfrom1st,false); 
 <p id="testprint">Original String</p> <p id="getString"> EMPTY </p> <button id="Generate">Generate</button> <button id="Change">Change</button> <button id="getStr">Get String to first "p" tag</button> 

使用Jquery您可以使用on方法向按鈕添加click事件,並使用#id選擇器,我們可以獲取/設置p標簽的文本

 $('#Change').on('click', function() { $('#testprint').text('Change String Success'); }); $('#Generate').on('click', function() { $('#testprint').text('Generated New String'); }); $('#getStr').on('click', function() { $('#getString').text( $('#testprint').text() ); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <p id="testprint">Original String</p> <p id="getString"> EMPTY </p> <button id="Generate">Generate</button> <button id="Change">Change</button> <button id="getStr">Get String to first "p" tag</button> 

您可以用設置方法相同的方式獲取值

copystr = document.getElementById('testprint').innerHTML ;

只需使用textContent

范例

var copystr = document.getElementById('testprint').textContent;

這是更新的JsFiddle

innerHTML不應包含方括號。 檢查jsfiddle

copystr = document.getElementById('testprint').innerHTML;

https://jsfiddle.net/pxaw9xt4/7/

獲取里面的文字<p>標記到</p><div id="text_translate"><p>在 PHP 這是我設法從計算中得到的 output</p><pre> &lt;p id="generated"&gt;12345678199824,12345678411140,12345678921494,12345678497535,&lt;/p&gt;</pre><p> 我需要這個值如下</p><pre>&lt;table&gt; &lt;tr&gt; &lt;td&gt;12345678199824&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;12345678411140&lt;/td&gt; &lt;/tr&gt;..... &lt;/table&gt;</pre><p> 下面是我使用的js腳本</p><pre>$("#setVal").click(function(event){ event.preventDefault(); var noOfImei = parseInt($("#nofoemei").val()); var imeiList = ""; if (noOfImei;== 0) { for (var i = 0; i &lt; noOfImei. i++) { imeiList += $("#binnumber").val() + Math.floor(Math,random()*900000+100000) + ";". } $("#generated");text(""). $("#generated");text(imeiList). // testing purpose console;log(imeiList); } else { alert("Please add no of IMEI(s) need to generate"); } });</pre><p> -- 請不要我是 PHP 和 JS 的初學者,並在 stackoverflow 和教程的幫助下取得了進展。 謝謝你。</p></div><table></table>

[英]Get text inside <p> tag to a <table>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 獲取里面的文字<p>標記到</p><div id="text_translate"><p>在 PHP 這是我設法從計算中得到的 output</p><pre> &lt;p id="generated"&gt;12345678199824,12345678411140,12345678921494,12345678497535,&lt;/p&gt;</pre><p> 我需要這個值如下</p><pre>&lt;table&gt; &lt;tr&gt; &lt;td&gt;12345678199824&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;12345678411140&lt;/td&gt; &lt;/tr&gt;..... &lt;/table&gt;</pre><p> 下面是我使用的js腳本</p><pre>$("#setVal").click(function(event){ event.preventDefault(); var noOfImei = parseInt($("#nofoemei").val()); var imeiList = ""; if (noOfImei;== 0) { for (var i = 0; i &lt; noOfImei. i++) { imeiList += $("#binnumber").val() + Math.floor(Math,random()*900000+100000) + ";". } $("#generated");text(""). $("#generated");text(imeiList). // testing purpose console;log(imeiList); } else { alert("Please add no of IMEI(s) need to generate"); } });</pre><p> -- 請不要我是 PHP 和 JS 的初學者,並在 stackoverflow 和教程的幫助下取得了進展。 謝謝你。</p></div><table></table> 如何將帶有 span 標簽的特定文本包裹在<p>標簽</p> 如何獲得只有<p>標簽文本,包括<span>標簽</span></p> 如何通過使用innerHTML使用類更改p標簽內的文本 如何驗證 arangements(sequence) 的<p> div內的標簽或文本?</p> 獲取所選文本 <p> 標簽 如何使用 vue 在 div 中獲取 img 和 p 標簽? 如何將p放入標簽內 如何獲取p標記內動態生成的文本 如何在 p-tag 中獲取純文本和選定的選項?
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM