我是Javascript和jQuery的新手。我在段落中有一个文本。我想用黄绿色突出显示所有以大写字母开头的单词。
这是我的源代码。但是它不能正常工作。
<!DOCTYPE html>
<html>
<head>
<style>
.mycls {background-color:yellowgreen}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
var str = $(p).text();
words = str.split(' ');
for (var i = 0; i < words.length; i++) {
var w = words[i].split('');
if (w.charAt(0) === w.charAt(0).toUpperCase()) {
$(this).addClass("mycls");
}
// words[i] = letters.join('');
}
});
</script>
</head>
<body>
<p>President of USA Barack Obama is ...</p>
</body>
</html>
谢谢你们!
最佳答案
$('p').each(function(){ // to each <p>
r = /[A-Z]\w*/g; // big letter with word symbols, global search
function f(x){
return '<span class="y">'+x+'</span>' // rewrited
}
h = $(this).html(); //get
h = h.replace(r,f); //replace
$(this).html(h); //set
}) //done
.y {
background-color: yellowgreen;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>President of USA Barack Obama is ...</p>