无法更改属性数据 - ***使用jquery

时间:2017-07-27 23:02:58

标签: javascript jquery twitter-bootstrap dom jquery-ui-tooltip

我不明白为什么没有执行按钮请求。我必须改变移动屏幕的方向,但直到它现在正在工作。

$( "button.btn-tooltip" ).attr( "data-placement", "left" );
body {
  padding: 10px;
}

button {
  width: 100px;
  height: 30px;  margin: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
<button type="button" class="btn btn-tooltip" data-toggle="tooltip" data-placement="right" title="Tooltip"></button>

4 个答案:

答案 0 :(得分:3)

您可能正在查看默认工具提示,而不是 Bootstrap的工具提示。常规工具栏默认为右下角,这可能会让您对data-placement的{​​{1}}感到困惑:

right
$("button.btn-tooltip").attr("data-placement", "left");
body {
  text-align: center;
}

要使用Bootstrap工具提示,您需要记住使用以下命令初始化它们:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>

<button type="button" 
        class="btn btn-tooltip"
        data-toggle="tooltip"
        data-placement="right"
        title="Tooltip">
        Text
</button>

添加此代码表明您的$(document).ready(function(){ $('[data-toggle="tooltip"]').tooltip(); }); 更改确实按预期工作:

data-placement
$(document).ready(function(){
    $('[data-toggle="tooltip"]').tooltip();   
});

$("button.btn-tooltip").attr("data-placement", "left");
body {
  text-align: center;
}

如果你的代码没有给你相同的结果,那么你的JavaScript可能在DOM完全加载之前运行(意味着该按钮不存在以便操作它)。

在这种情况下,请确保您的代码包含在<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> <button type="button" class="btn btn-tooltip" data-toggle="tooltip" data-placement="right" title="Tooltip"> Text </button>内,以强制JavaScript等待按钮创建。

希望这有帮助! :)

答案 1 :(得分:1)

我认为确实添加了属性,但是因为你在bootstrap初始化之后添加了属性,所以它不起作用。 你在bootstrap中使用工具提示吗?您可以在调用之前尝试设置属性 $( 'button.btn-提示')。工具提示()

答案 2 :(得分:1)

你可以做到

setup(
    ...,
    python_requires=">=3.3"
)

答案 3 :(得分:1)

您编写的代码正常工作,如下所示: http://jsbin.com/xozuseyeyi/edit?html,js,output

我怀疑你的javascript代码是在DOM中按钮可用之前运行的。

您是否尝试将代码包装在document.ready()处理程序或类似内容中?

$(document).ready(function() {
    $("button.btn-tooltip").data( "placement", "left" );
});