Javascript 更改标题的第一个值
我只需要更改标题的第一个值。我做了一些事情,但我不知道这是否是最好的方法 HTML: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'
<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" );