也许这是非常基本的,但我都很困惑。 我有一个简单的html页面,包含许多部分(div)。我在javascript中有一个包含html标签的字符串。代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
var str1="<html><body><div id='item1'><h2>This is a heading1</h2><p>This is a paragraph1.</p></div><div id='item2'><h2>This is a heading2</h2><p>This is another paragraph.</p></div><div id='lastdiv'>last</div></body></html>";
</script>
</head>
<body>
<div id="title1"></div>
<div id="new1"></div>
<div id="title2"></div>
<div id="new2"></div>
</body>
</html>
我想提取html标签的内容(来自javascript中的字符串),并在我的html页面中显示所需部分中的内容。
即。我想在<div id="title1">
和“这是一个段落1”中显示“这是一个标题1”。在<div id="new1">
显示,第二对标记显示相同。
我需要所有这些只在客户端工作。我试图使用HTML DOM getElementByTagName方法,它变得太复杂了。我对jquery知之甚少。我很困惑。我不明白该怎么做。你能指导我使用什么--javascript或jquery以及如何使用它?有没有办法从字符串中识别并迭代它?
如何从str1中提取“这是heading1”(以及html标签中包含的类似内容)?我不知道这些索引因此无法在javascript中使用substr()或substring()函数。
答案 0 :(得分:11)
使用.text()作为'getter'和'setter'我们可以重复以下模式:
<script type="text/javascript">
var str1="<html><body><div id='item1'><h2>This is a heading1</h2><p>This is a paragraph1.</p></div><div id='item2'><h2>This is a heading2</h2><p>This is another paragraph.</p></div><div id='lastdiv'>last</div></body></html>";
$(function(){
var $str1 = $(str1);//this turns your string into real html
//target something, fill it with something from the string
$('#title1').text( $str1.find('h2').eq(0).text() );
$('#new1').text( $str1.find('p').eq(1).text() );
$('#title2').text( $str1.find('h2').eq(1).text() );
$('#new2').text( $str1.find('p').eq(1).text() );
})
</script>
答案 1 :(得分:2)
恕我直言,您可以通过两个步骤在jquery中执行此操作:
步骤1)将字符串解析为XML / HTML文档。
至少有两种方法可以做到这一点:
a)如Sinetheta所述
var htmlString = "<html><div></div></html>";
var $htmlDoc = $( htmlString );
b)使用parseXML
var htmlString = "<html><div></div></html>";
var htmlDoc = $.parseXML( htmlString );
var $htmlDoc = $( htmlDoc );
请参阅http://api.jquery.com/jQuery.parseXML/
步骤2)从XML / HTML文档中选择文本。
var text = $htmlDoc.text( jquery_selector );
答案 2 :(得分:1)
那么,
首先,您应该阐明如何从您自己的html获取源html。如果您使用的是Ajax,则应将源代码标记为html,即使是xml。
答案 3 :(得分:0)
document.getElementById('{ID of element}')。innerHTML
如果使用jquery $( '选择')的HTML();
<div id="test">hilo</div>
<script>
alert($('#test').html());
<script>
答案 4 :(得分:0)
让我以我认为我不完全明白你想做什么的知识为我的答案做准备......然而我想你要替换一些 (虽然你听起来像所有)html与一些数据源。
我在这里操作了一个简单的例子:jsfiddle:
这可以在目标div上使用jquery进行简单替换。
希望这会有所帮助,祝你好运。