![](/img/trans.png)
[英]HTML and Javascript: Remove a complete tag with dynamic content inside from string
[英]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.