4

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

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

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

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

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

有什么办法可以在 Javascript 或 jquery 上做到这一点?

多谢你们!

4

2 回答 2

4

因此,您要做的是将字符串转换为 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();
});

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

你好世界


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

于 2012-07-15T14:09:40.697 回答
0

好的,一个快速简单的方法:

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;

如果我理解正确,那就是你所追求的,对吧?

于 2012-07-15T14:04:00.577 回答