无法使用 jquery 更改属性数据 -***
Can't change attribute data-*** with jquery
我不明白为什么按钮请求没有执行。我必须改变移动屏幕的方向,但直到它现在起作用。
$( "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>
我认为确实添加了属性,但是因为你在bootstrap初始化之后添加了属性,所以它不起作用。
您使用 bootstrap 中的工具提示吗?你可以尝试在调用之前设置属性
$('button.btn-tooltip').tooltip()
你可以做到
$("button.btn-tooltip").data( "placement", "left" );
您可能正在查看 默认 工具提示,而不是 Bootstrap 的 工具提示。常规工具栏默认位于右下角,这可能会让您与 right
:
的 data-placement
混淆
$("button.btn-tooltip").attr("data-placement", "left");
body {
text-align: center;
}
<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>
要使用 Bootstrap 工具提示,您需要记住用以下方式初始化它们:
$(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;
}
<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>
如果您的代码没有给您相同的结果,那么在 DOM 完全加载之前您的 JavaScript 可能是 运行(这意味着该按钮将不存在它被操纵)。
在这种情况下,请确保您的代码包含在 $(document).ready(function(){})
中以强制 JavaScript 等待按钮创建。
希望对您有所帮助! :)
您编写的代码可以正常工作,如下所示:
http://jsbin.com/xozuseyeyi/edit?html,js,output
我怀疑你的 javascript 代码是 运行 在你的按钮在 DOM 中可用之前。
您是否尝试过将代码包装在 document.ready() 处理程序或类似的处理程序中?
$(document).ready(function() {
$("button.btn-tooltip").data( "placement", "left" );
});
我不明白为什么按钮请求没有执行。我必须改变移动屏幕的方向,但直到它现在起作用。
$( "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>
我认为确实添加了属性,但是因为你在bootstrap初始化之后添加了属性,所以它不起作用。
您使用 bootstrap 中的工具提示吗?你可以尝试在调用之前设置属性
$('button.btn-tooltip').tooltip()
你可以做到
$("button.btn-tooltip").data( "placement", "left" );
您可能正在查看 默认 工具提示,而不是 Bootstrap 的 工具提示。常规工具栏默认位于右下角,这可能会让您与 right
:
data-placement
混淆
$("button.btn-tooltip").attr("data-placement", "left");
body {
text-align: center;
}
<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>
要使用 Bootstrap 工具提示,您需要记住用以下方式初始化它们:
$(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;
}
<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>
如果您的代码没有给您相同的结果,那么在 DOM 完全加载之前您的 JavaScript 可能是 运行(这意味着该按钮将不存在它被操纵)。
在这种情况下,请确保您的代码包含在 $(document).ready(function(){})
中以强制 JavaScript 等待按钮创建。
希望对您有所帮助! :)
您编写的代码可以正常工作,如下所示: http://jsbin.com/xozuseyeyi/edit?html,js,output
我怀疑你的 javascript 代码是 运行 在你的按钮在 DOM 中可用之前。
您是否尝试过将代码包装在 document.ready() 处理程序或类似的处理程序中?
$(document).ready(function() {
$("button.btn-tooltip").data( "placement", "left" );
});