【问题标题】:Get content of span获取 span 的内容
【发布时间】:2014-01-19 11:27:40
【问题描述】:

如何获取 span 的内容? 我正在寻找一种方法让所有这些都成为香草,而不是 jQuery

javascript(和一点 jQuery)

var swear_words_arr=new Array("bad","evil","freak");
var regex = new RegExp('\\b(' + swear_words_arr.join('|') + ')\\b', 'i' );

function validate_user_text() {
var text = document.getElementById('myInput');
text.text();

if(regex.test(text)) {
    window.location="http://www.newlocation.com";
    return false;
}

}
var myVar=setInterval(function(){validate_user_text()},1000);change

这是我的html

<div id="textArea">
<span id="myInput" contenteditable="true">kfjdkfj</span>
</div>
<br />
 <form name="form1" method="post" action="">

<textarea rows="3" cols="40" name="user_text" style="border:2 solid #808080; font-family:verdana,arial,helvetica; font-weight:normal; font-size:10pt" onclick="select_area()"></textarea>
<br />
<input type="button" value="Submit" onclick="return validate_user_text();"></form>

谢谢

【问题讨论】:

  • 您在 25 分钟前问过这个问题。向Stack Overflow 发送垃圾邮件会禁止您提问,尤其是因为您的问题离题且价值不大。
  • 您可以使用&lt;input&gt; 并使用.value 获取值。让您免于烦恼。

标签: javascript jquery html forms contenteditable


【解决方案1】:

试一试:

var input = document.getElementById("myInput");
var text = input.innerHTML;

【讨论】:

  • 感谢您没有令人困惑的答案;)
【解决方案2】:

您可以使用textContent

取自 MDN:

// Given the following HTML fragment:
//   <div id="divA">This is <span>some</span> text</div>

// Get the text content:
var text = document.getElementById("divA").textContent;
// |text| is set to "This is some text".

// Set the text content:
document.getElementById("divA").textContent = "This is some text";
// The HTML for divA is now:
//   <div id="divA">This is some text</div>

【讨论】:

  • 谢谢!我会试试这个:D
  • textContent 非常适合。谢谢!
【解决方案3】:

这里有个问题:

var text = document.getElementById('myInput');
text.text();

您从未将输入的文本分配给任何变量。

按照上面的模式,你可以这样做:

var txt = document.getElementById('myInput'),
    txt = text.text();

第二个变量更新前一个变量“txt”以保存原始“txt”变量的文本,这是一个选择器。

你也可以这样做(原版 javascript,jsfiddle):

var txt = document.getElementById('myInput').innerHTML;

//or

var txt = document.getElementById('myInput').textContent;

【讨论】:

    【解决方案4】:

    而不是使用...

    text.text();
    

    尝试使用...

    text.innerHTML;
    

    我发现 .text() 只有在您使用 jQuery 选择器时才能工作。

     $('#myInput').text();
    

    【讨论】:

      【解决方案5】:
      var text = (document.getElementById("myInput")).innerHTML
      

      或缩写形式:

      var text = $('#myInput').text()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-17
        • 2012-11-03
        • 2019-09-03
        • 1970-01-01
        • 2020-11-21
        • 1970-01-01
        相关资源
        最近更新 更多