使用xpath将div添加到另一个div内容中

时间:2016-03-23 07:03:36

标签: xpath openerp odoo-8 openerp-8

我想使用继承父模板的xpath追加div。

代表。 这是父模板

<template id="parent_id">
    <div id="header">
        <div class="container">
            <h1> HEADER </h1>
        </div>
    </div>
    <div id="product">
        <div class="container">
            <!-- THERE IS SOME CONTENT -->
        </div>
    </div>
</template>

我想改变这样,

<template id="parent_id">
    <div id="product">
        <div class="inner">
            <div class="container">
                <!-- THERE IS SOME CONTENT -->
            </div>
        </div>
    </div>
</template>

我试试这个,

<template id="product_custom" inherit_id="parent_id">
    <xpath expr="//div[@id='product']" position="after">
        <div class="inner">
    </xpath>
</template>

虽然替换所有内容很容易或将所有内容复制到自定义模板,但它不是正确的方法。我想用内容包装div。

1 个答案:

答案 0 :(得分:0)

我认为你不能这样做,因为你要么覆盖内容,要么在所选元素内部之后放置$('#addFromReport button:reset').click(function(e) { e.preventDefault(); $('#addFromReport') .find(':radio, :checkbox').prop('checked', false).end() .find(':input:enabled').val(''); });

一个简单的解决方案是使用<div/>id="product" div提供课程inner。或者,如果您真的需要这个,可能的解决方案是:

  1. 使用position="attributes"位置
  2. id="product"替换为class="inner",并覆盖一次
  3. 在第二个覆盖中定义您自己的模板并调用其中的原始模板
  4. 你最终会得到这样的东西:

    attributes

    加上属性的覆盖。从来没有做过这样的事情,上面的代码没有经过测试,但它可以工作;)