我用一些 jQuery 制作了一个 HTML 页面,但它没有执行我想要的操作:
- 我希望 jQuery 获取 div 1 的文本。
- 去掉所有不受欢迎的字符。
- 制作一个文本数组。
- 在 div 2 中显示数组。
1 和 2 可以正常工作,3 也应该可以正常工作。
我做了这个:
<!DOCTYPE HTML>
<html>
<head>
<LINK href="layout.css" rel="stylesheet" type="text/css">
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {
var str = $("div.someText").text();
var specialChars = "!@#$^&%*()+=-[]\/{}|:<>?,.";
for (var i = 0; i < specialChars.length; i++) {
str = str.replace(new RegExp("\\" + specialChars[i], 'gi'), '');
}
str = str.replace(/["'“”…]{1}/gi,".");
str = str.replace(/[.*]{1}/gi," ");
str = str.toLowerCase();
var array = str.split(" ");
for(var i = 0; i < array.length(); i++) {
$("div.put").html(array[i] + "\n");
}
})
</script>
<div class="someText">
Een kerel gaat met zijn pas gekochte hond naar de dierenarts. Eindelijk is hij aan de
beurt en komt met zijn hond de behandelkamer binnen.......
“En?”, vraagt de dierenarts, “wat is het probleem?”. “Nou”, zegt de eigenaar van het beest,
“ik heb hem gekocht om te waken, maar elke keer als de bel gaat, dan gaat mijn hond in de hoek zitten”.
De dierenarts wrijft eens vakkundig over zijn kin en zegt tenslotte: “ja…dat doen boxers”.
</div>
<br />
<div class="put"></div>
</body>
</html>
但我一定做错了什么,因为 div 2 什么也没显示。
谁能告诉我为什么我的代码没有按预期工作?
最佳答案
你有各种各样的问题,但我已经在这个演示中解决了它们:
-
array.length()
应该是array.length
.这导致了致命的语义错误。 -
str.split(str, ' ')
应该是str.split(' ')
.第一个参数是要分割的字符串。 -
.html("string')
每次都会覆盖 HTML。我已经用一种允许您附加 html 内容的方法对其进行了更新。您也可以使用.text
如果只是文字。如果您想要可见的换行符,请使用 CSSwhite-space: pre
, 或使用<br>
而不是\n
.您也可以跳过循环并执行$("div.put").text(array.join("\n"));
关于javascript - jQuery 在 div 中显示数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15144059/