Javascript 在textarea val中使用find()和HTML字符
我有一个textarea,我想得到它的值,然后计算开始和结束div的数量。我在处理渲染的HMTL时遇到了问题,尽管它已全部转义,但仍然会出现如下错误: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
未捕获错误:语法错误,无法识别的表达式: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, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'");
}
var res = escapeHtml($('#code').val());
console.log('res = ' + res);
var openDivs = $(res).find('<div').length;
var closeDivs = $(res).find('</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.");