更改标题的第一个值

时间:2011-07-21 12:33:33

标签: javascript jquery

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

HTML:

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

JS:

$("div").click(function(){
     var title =  $(this).attr('title').split(' ')[0]; 
       /*
           title is now getting the first value (Title), so, 
           i need to change only him.
       */

       // this is the better way to do this ?
       if(title == "Title"){
             $(this).attr("title", "Changed that have to be change");
       }
});

我可以只更改标题的一部分,而不是完成所有这些吗?

3 个答案:

答案 0 :(得分:6)

保留标题的所有部分。只更改第一部分,然后将部分重新组合在一起以形成新标题。

$("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);
});

答案 1 :(得分:0)

框架正则表达式或用空格分割字符串,即''并收集数组。

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

然后使用join

加入字符串

答案 2 :(得分:0)

如果你知道你总是希望结果是相同的,即你总是改变像“点击这里编辑”到“通过点击这里保存”这样的东西,那么更容易改变整个标题:

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

...

$( '#titled' ).attr( 'title', "Save by clicking here" );

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