我有以下代码:
<div id="DivPassword" title="test" >
我想更改div标题,我有以下代码:
function ChangeAttribute() {
$("#DivPassword")
.attr('title', 'Photo by Kelly Clark');
$('#DivPassword').dialog('open');
return false;
}
打开对话框时,标题仍在测试中!如果我没有为div分配任何标题,则对话框不显示任何标题。我该如何纠正?
function ChangeAttribute() {
$("#DivPassword")
.attr('title', 'Photo by Kelly Clark')
.dialog('open');
alert($("#DivPassword").attr('title'));
}
$('#DivPassword').dialog({
autoOpen: false,
width: 800,
buttons: {
"Cancel": function() {
$(this).dialog("close");
},
"Accept": function() {
alert($(this).attr('title'));
$(this).dialog("close");
}
}
});
<script type="text/javascript">
var Dtitle;
$(function() {
$('#DivPassword').dialog({
autoOpen: false,
width: 800,
title : Dtitle,
buttons: {
"Cancel": function() {
$(this).dialog("close");
},
"Accept": function() {
$(this).dialog("close");
}
}
});
});
function ChangeAttribute(name) {
$("#DivPassword")
.attr('title', name)
.dialog('open');
Dtitle = $("#DivPassword").attr('title');
alert(Dtitle);
}
</script>
答案 0 :(得分:23)
您可以直接使用以下方式更改对话框的标题:
$('#DivPassword').dialog('option', 'title', 'Photo by Kelly Clark');
这适用于您的情况。实际上,更改title属性的代码是正确的。我想对话插件会在首先调用.dialog时创建对话框。 open方法只显示对话框,而无需从div重新创建它。
答案 1 :(得分:10)
您可以使用jQuery从任何DOM元素更改任何attr:
$("#divMessage").attr('title', 'Type here the new Title text');
干杯!
答案 2 :(得分:1)
您是否尝试过此处提供的任何建议: How to change an element’s title attribute using jQuery?
看起来你正在接受所接受的答案。如果这不起作用,也许其他人会这样做。
答案 3 :(得分:1)
感谢所有答案。
$('#DivPassword').dialog({
必须在.dialog('open');
最简单的方法是:
$("#DivPassword")
.dialog('open');
$('#DivPassword').dialog({
autoOpen: false,
title: $('#DivPassword').attr('title') + name,
width: 400,
buttons: {
"Cancel": function() {
$(this).dialog("close");
},
"Accept": function() {
$(this).dialog("close");
}
}
});
答案 4 :(得分:1)
$("#div1").dialog({ autoOpen: false, modal: true, height: 420, width: 750, resizable: false });
// more code
$("#div1").dialog("option", "title", "joopla, here is a new title");
为我做了诀窍......
答案 5 :(得分:0)
听起来你的插件在获得ChangeAttribute函数之前正在读取标题。您发布的代码肯定会更改title属性,因此幕后会发生其他事情。
此外,虽然我在这里,但不要忘记使用链接。 jQuery中的大多数函数再次返回相同的对象:
$("#DivPassword").attr('title', 'Photo by Kelly Clark').dialog('open');
// or like this, perhaps easier to read:
$("#DivPassword")
.attr('title', 'Photo by Kelly Clark')
.dialog('open')
;
答案 6 :(得分:0)
答案 7 :(得分:0)
指定对话框的标题。该 标题也可以由 对话框源上的title属性 元件。
代码示例
初始化一个带有指定标题选项的对话框。
$( ".selector" ).dialog( { title: 'Dialog Title' } );
在初始化后获取或设置标题选项。
//getter
var title = $( ".selector" ).dialog( "option", "title" );
//setter
$( ".selector" ).dialog( "option", "title", 'Dialog Title' );
回答您的the dialog doesnt show any title
。
答案 8 :(得分:0)
$("#div1").dialog({ autoOpen: false, modal: true, height: 420, width: 750, resizable: false });
//more code
$("#div1").dialog("option", "title", "joopla, here is a new title");
这对我有用