Javascript 更改标题的第一个值

Javascript 更改标题的第一个值,javascript,jquery,Javascript,Jquery,我只需要更改标题的第一个值。我做了一些事情,但我不知道这是否是最好的方法 HTML: <div title="Title that have to be change"> the div is here </div> 我可以只更改标题的一部分,而不更改所有内容吗?保留标题的所有部分。仅更改第一个部分,然后将这些部分重新连接在一起以形成新标题 $("div").click(function(){ var parts = $(this).attr('title'

我只需要更改标题的第一个值。我做了一些事情,但我不知道这是否是最好的方法

HTML:

<div title="Title that have to be change"> the div is here </div>

我可以只更改标题的一部分,而不更改所有内容吗?

保留标题的所有部分。仅更改第一个部分,然后将这些部分重新连接在一起以形成新标题

$("div").click(function(){
     var parts =  $(this).attr('title').split(' '); 
       /*
           now only change part[0]
       */

       // now put the parts back together
       $(this).attr("title", parts.join(" " ));
});
或者,如果转换相对简单(如果是标题,则删除第一个单词),则可以使用正则表达式

$("div").click(function(){
     var newTitle =  $(this).attr('title').replace(/^Title /,''); // space is important
     $(this).attr("title", newTitle);
});

为正则表达式设置帧,或使用空格(即“.”)拆分字符串并收集数组

然后将数组的第一个元素更改为新值


然后使用

连接字符串如果您知道您总是希望结果相同,即您总是将“通过单击此处编辑”更改为“通过单击此处保存”,则更容易更改整个标题:

<div id="titled" title="Edit by clicking here">...</div>

但是,如果标题是生成的,或者您不知道确切的内容,您应该使用其他解决方案。

正则表达式可能是合适的。我会使用类似于
str.replace(/^([^])/,“replaced”)
的正则表达式。问题是标题带有来自db结果的动态值。
<div id="titled" title="Edit by clicking here">...</div>
$( '#titled' ).attr( 'title', "Save by clicking here" );