用 <p> 标记包装 JQuery 函数结果

Wrapping JQuery function results with <p> tags

本文关键字:包装 JQuery 函数 结果      更新时间:2023-09-26

嗨,我有一个交互式绘图功能。由于一些限制,每次用户使用以下命令与图形交互时,我都必须删除该图形:

$("button").click(function () {
     $("p").empty();
 });

但是,我想通过调用(在protovis中)来重新生成图形:

drawHistogram(){
var w = 420
var h = 300
var vis = new pv.Panel()
.width(w)
.height(h)
.margin(20);
//add data into the visualization
vis.render();
}

在 JQuery 中。但是,现在此图形没有被<p>标签包围,因此当我单击该按钮时,此迭代中不会发生任何事情。如何用<p>标签包围drawHistogram()呼叫?谢谢!

如果drawHistogram()是一个PHP函数:

<?php
    function drawHistogram() {
?>
    <P>
<?php
    // Draw Histogram code goes here
?>
    </p>
<?php
    }
?>

无论 vis.render(); 渲染什么元素,只要访问它并使用 jQuery http://api.jquery.com/wrap/包装它

<div class="vis-rendered">
  <div class="inner">Vis Image</div>
</div>
$('.vis-rendered').wrap('<p />');

结果:

<p>
  <div class="vis-rendered">
    <div class="inner">Vis Image</div>
  </div>
</p>

你可以尝试使用 jQuery .wrap() 将元素包装在 <p> 元素中。

如果解开包装的 .inner 元素看起来像这样开始:

<div class="container">
  <div class="inner">Hello</div>
  <div class="inner">Goodbye</div>
</div>

然后,在渲染的元素上使用$('.class').wrap('<p>')

$('.inner').wrap('<p class="new" />');

包装后的结果如下所示:

<div class="container">
  <p class="new">
    <div class="inner">Hello</div>
  </p>
  <p class="new">
    <div class="inner">Goodbye</div>
  </p>
</div>

为什么不有一个容器元素,每次调用 drawHistogram() 时,在该方法中,您将结果包装在"<p>"元素中。

在这里,看看这个例子是否有帮助。

http://jsfiddle.net/BP5hb/

最好