如何使用jquery更改div标题

lea*_*ing 17 jquery

我有以下代码:

<div id="DivPassword" title="test" > 
Run Code Online (Sandbox Code Playgroud)

我想更改div标题,我有以下代码:

 function ChangeAttribute() {
         $("#DivPassword")
            .attr('title', 'Photo by Kelly Clark');
         $('#DivPassword').dialog('open');
         return false;
     }
Run Code Online (Sandbox Code Playgroud)

打开对话框时,标题仍在测试中!如果我没有为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");
                 }
             }
         });
Run Code Online (Sandbox Code Playgroud)
 <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>
Run Code Online (Sandbox Code Playgroud)

Chr*_*der 23

您可以直接使用以下命令更改对话框的标题:

$('#DivPassword').dialog('option', 'title', 'Photo by Kelly Clark');
Run Code Online (Sandbox Code Playgroud)

这将适用于您的情况.实际上,更改title属性的代码是正确的.我想对话插件会在首先调用.dialog时创建对话框.open方法只显示对话框,而无需从div重新创建它.


Jho*_*man 11

您可以使用jQuery从任何DOM元素更改任何attr,如下所示:

$("#divMessage").attr('title', 'Type here the new Title text');
Run Code Online (Sandbox Code Playgroud)

干杯!


lea*_*ing 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");
                 }
             }
         });
Run Code Online (Sandbox Code Playgroud)