繁体   English   中英

检测字符串上的html标签,获取值并删除javascript中html标签内的值

[英]Detect html tag on a string, get the value and remove values inside html tag in javascript

我有一个包含HTML标记的字符串:

var str = "Hello World <br><p>1</p><em>My First Javascript</em>";

而且我还有一个带有隐藏输入的表单:

<input type='hidden' name='id' value=''>

有了上面的字符串,我想在<p>标记内获取值为1并将该值分配给隐藏的输入。 然后,我想删除字符串中所有这些<br><p>1</p><em>My First Javascript</em>的HTML标记。 因此, str的唯一值将是Hello World

有什么办法可以在Javascript或jquery上执行此操作吗?

多谢你们!

因此,您要做的就是将您的字符串转换为jQuery对象。 您可以这样做-

var str = "Hello World <br><p>1</p><em>My First Javascript</em>";
var $holder = $('<div>');
$holder.append(str);

现在,我们将您的字符串封装在另一个div元素中。 接下来,我们提取<p>元素内的值-

var value = $holder.find('p').text(); // 1

现在我们有了该值,可以将其放入隐藏的输入字段中-

$('input[name="id"]').val(value);

现在要从原始字符串中删除所有其他元素-我们将使用之前为此创建的容器-

$.each($holder.children(),function(index,elem){
  $(elem).remove();
});

现在我们可以使用$holder.text()来获取$holder的文本内容,它应该只是-

你好,世界


如果你想摆弄这个,
您可以在这里进行-http://jsfiddle.net/TVXbw/1/

好的,一种简单快捷的方法:

var tmpDiv = document.createElement('div');
tmpDiv.innerHTML = str;//where str is the html string, obviously...
var pTagValue = tmpDiv.getElementsByTagName('p')[0].innerHTML;//=== '1'
document.getElementById('yourInputId').value = pTagValue;

如果我理解正确,那是您所追求的,对吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM