Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 修改HTML文本&;替换它_Javascript_Html_Text - Fatal编程技术网

Javascript 修改HTML文本&;替换它

Javascript 修改HTML文本&;替换它,javascript,html,text,Javascript,Html,Text,我正在处理一个HTML列表,其中包含了所有的名字,每个名字都是以这种格式写的: “名字lastname/” (示例:约翰·史密斯/) 因此,我很想知道是否可以使用JavaScript将文本格式更改为: “名字Lastname” (例如:约翰·史密斯) 因为我对JavaScript比较陌生,我还没有对它做太多的工作,所以我没能做到这一点 以下是HTML列表的一个片段: <ul> <li><a href="john-smith/"> john-smith/<

我正在处理一个HTML列表,其中包含了所有的名字,每个名字都是以这种格式写的:

名字lastname/” (示例:约翰·史密斯/)

因此,我很想知道是否可以使用JavaScript将文本格式更改为:

名字Lastname” (例如:约翰·史密斯)

因为我对JavaScript比较陌生,我还没有对它做太多的工作,所以我没能做到这一点

以下是HTML列表的一个片段:

<ul>
<li><a href="john-smith/"> john-smith/</a></li>
<li><a href="joe-smith/"> joe-smith/</a></li>
<li><a href="gina-smith/"> gina-smith/</a></li>
<li><a href="tom-smith/"> tom-smith/</a></li>
<li><a href="peter-smith/"> peter-smith/</a></li>
</ul>

另外,如果我不够清楚,我不想更改href,只想更改显示的实际文本。

您可以使用Regex执行此操作:

var REGEX_FIND=/(.*)-(.*)\/$;
//发件人:http://stackoverflow.com/questions/1026069/capitalize-the-first-letter-of-string-in-javascript
函数首字母大写(字符串){
返回string.charAt(0.toUpperCase()+string.slice(1);
}
$('ul li a')。每个(函数(){
var text=$(this.text().trim();
var-m;
if((m=REGEX_FIND.exec(text))!==null){
$(此).text(大写第一字母(m[1])+“”+大写第一字母(m[2]);
}
});


或者,您也可以这样做

//以列表项内的锚定标记为目标
var namesList=document.queryselectoral(“#namesList li a”);
//循环通过
对于(变量i=0;i

你是在生成这个html,还是只是想在以后修改它?@FrankerZ我相信这个html是生成的,我收到了这个html列表,我想对它进行一些调整。我在下面发布了如何修改字符串。如果你想发布一个更大的HTML块,我可以告诉你如何用你想要的内容修改锚定标记的内容。添加了一个更大的HTML块@FrankerZThanks的代码,但我如何循环通过我的每个列表项,并从那里更改HTML文本?对不起,我是JavaScript新手!检查我在上面对您的问题的评论@dan将脚本添加到html的底部(就在
标记之前),或者将您的函数包装在
$(document).ready(function(){/*您的代码在这里*/})标签。由于HTML在代码运行时没有实际初始化,
$('ul li a')
找不到任何元素,因此代码没有运行。对于这种任务,您可以随意使用
var tom_link=document.querySelectorAll(“a[href='tom-smith']),jQuery有点过火了。@FrankerZ我现在明白为什么它不起作用了;我学到了很多!非常感谢你的帮助!不错的替代方法是的,但它不适用于IE8及以下版本,尽管有多填充