Javascript 在textarea val中使用find()和HTML字符

Javascript 在textarea val中使用find()和HTML字符,javascript,jquery,html,find,Javascript,Jquery,Html,Find,我有一个textarea,我想得到它的值,然后计算开始和结束div的数量。我在处理渲染的HMTL时遇到了问题,尽管它已全部转义,但仍然会出现如下错误:未捕获错误:语法错误,无法识别的表达式:div这是一个测试/div在文本区域中输入这是一个测试 我希望能够在内容中保留HTML标记,即搜索的能力。这里有一些东西可以让你马上开始 它在我的电脑里工作 var openCounter=0; var closeCounter=0; var raw=$(“#代码”).val(); 对于(i=0;iThe.f

我有一个textarea,我想得到它的值,然后计算开始和结束div的数量。我在处理渲染的HMTL时遇到了问题,尽管它已全部转义,但仍然会出现如下错误:
未捕获错误:语法错误,无法识别的表达式:div这是一个测试/div
在文本区域中输入
这是一个测试


我希望能够在内容中保留HTML标记,即搜索
的能力。这里有一些东西可以让你马上开始

它在我的电脑里工作

var openCounter=0;
var closeCounter=0;
var raw=$(“#代码”).val();

对于(i=0;iThe
.find()
方法不进行基于文本的搜索,它会查找子代DOM元素。感谢您提供的信息,是否有一个预构建的jquery函数可以工作?非常感谢:)
<h3>Paste your code in here</h3>
<textarea name="code" id="code" cols="30" rows="10"></textarea>
<p>
    <a href="#" class="test-code-btn">Go for it!</a>
</p>
$('.test-code-btn').on('click', function(){
    function escapeHtml(unsafe) {
        return unsafe
             .replace(/&/g, "&amp;")
             .replace(/</g, "&lt;")
             .replace(/>/g, "&gt;")
             .replace(/"/g, "&quot;")
             .replace(/'/g, "&#039;");
    }

    var res = escapeHtml($('#code').val());
    console.log('res = ' + res);

    var openDivs = $(res).find('&lt;div').length;
    var closeDivs = $(res).find('&lt;/div').length;

    console.log('openDivs: ' + openDivs + ', closeDivs: ' + closeDivs);
});
var openCounter=0;
var closeCounter=0;

var raw = $('#code').val();
for(i=0;i<raw.length;i++){
  if( raw.charAt(i)=="<" ){
    if( raw.charAt(i+1)=="\/" ){
      //console.log("One close tag");
      closeCounter++;
    }else{
      //console.log("One open tag");
      openCounter++;
    }
  }
}
console.log(openCounter+" opening tags and "+closeCounter+" closing tags.");