Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jQuery无法更改引导';s数据放置_Php_Jquery_Html_Twitter Bootstrap - Fatal编程技术网

Php jQuery无法更改引导';s数据放置

Php jQuery无法更改引导';s数据放置,php,jquery,html,twitter-bootstrap,Php,Jquery,Html,Twitter Bootstrap,我发现了一只虫子。 jQuery似乎无法在呈现HTML后更改其弹出框的数据位置 示例时间: $('[data-toggle=popover],[rel=popover]').popover(); <? if (isset($labels) && $labels): ?> <div id="<?= $id ?>" class="product-labels leak-image-click"> <? foreach($

我发现了一只虫子。 jQuery似乎无法在呈现HTML后更改其弹出框的数据位置

示例时间:

   $('[data-toggle=popover],[rel=popover]').popover();

 <? if (isset($labels) && $labels): ?>
  <div id="<?= $id ?>" class="product-labels leak-image-click">
    <? foreach($labels as $label): ?>
      <a class="product-label cursor-pointer" data-label="<?= $label ?>" tabindex="0" data-toggle="popover"  role="button" data-trigger="focus" <?= $label == "soldout" ? "data-soldout-target='".$soldout."'" : "" ?>>
      </a>
    <? endforeach ?>
  </div>
<? endif ?>

labels.init = function(id) {

  $('#' + id).children(".product-label").each( function() {   
    var labelName = $(this).data("label"),
        placement = meventi.getViewSize() == "xs" ? "right" : "top",
        options = {
          "placement": "top"
        };
    $(this).attr("data-content", labels.descriptions[$(this).data("label")]);

    $(this).addClass("product-label-" + labelName );
    $(this).attr("data-placement", "left");
    $(this).popover(options).popover("show");

    $(this).click(function(e){
      $(e.target).popover("show");
    });
  });
};
当查看Chrome开发者工具中的HTML元素时,我可以看到该元素的内容为
data placement=“top”
,但是popover仍然显示在左侧,就像它最初设置的一样“doge”没有找到类,您需要“.doge”

试着改变

  $("doge").attr("data-placement", "top");


当然,如果您输入了一个错误,并且没有附加处理程序,那么这是行不通的

$(document).ready(function(){
  $(".doge").attr("data-placement", "top");
});

还可以通过jQuery方法编辑数据属性:

明白了

使用
$('[data toggle=popover],[rel=popover]')全局启动所有popover。popover()$(this.attr(“数据放置”,“左”))后调用


更改数据内容,如
meventi.labels.descriptions[$(this.data(“label”))
和其他数据可以在
$('[data toggle=popover],[rel=popover]')之后调用

所以您将纯JS注入纯PHP,好吗。这是一个语法错误。你有没有试过
.data(“placement”,“top”)?请参阅下面给出的答案
$(“doge”)
$(“.doge”)
您是否碰巧使用了Symfony?对于append_slot()和end_slot(),我找不到任何与jQuery相关的内容,似乎是这样的;Symfony,除非它们是自定义函数。如果您想在jQuery中追加,据我所知,它是
.append()
。您可能需要为您的问题显示更多的代码,因为从目前的情况来看,它在当前状态下几乎无法回答。发布更多的代码,或者制作一个JSFIDLE。你不也需要一个
数据切换=“popover”
以便BS/JS知道它在处理什么吗?我会去掉“Try something:”;-)让我们都希望它是一个丢失的点,不是一个坏的粘贴。@Fred ii-我同意。:)OP刚刚用丢失的点更新了他们原来的帖子。现在,为什么我的蜘蛛会感到刺痛?原因不是
。我的问题是,当加载页面时,html中的数据位置发生了变化,但popover仍然按照最初设置的方向创建,“left”
$(“.doge”).attr(“数据位置”,“顶部”)已被尝试。正如我多次指出的,打字错误只与这个问题的写作有关,当页面加载时,HTML元素中的数据位置正在改变。如果我输入了错误或没有附加处理程序,这是不可能的。
不是原因,但感谢您的发现。我的问题是,当加载页面时,html中的数据位置发生了变化,但popover仍然按照最初设置的方向“左”创建。数据(“位置”,“顶部”)根本不会改变html,但attr(“数据位置”,“顶部”);将至少显示数据放置更改,即使弹出框仍显示在左侧。
  $(".doge").attr("data-placement", "top");
$(document).ready(function(){
  $(".doge").attr("data-placement", "top");
});
 $(".doge").data("placement", "top");