javascript - jQuery 在 div 中显示数组

标签 javascript jquery regex html text

我用一些 jQuery 制作了一个 HTML 页面,但它没有执行我想要的操作:

  1. 我希望 jQuery 获取 div 1 的文本。
  2. 去掉所有不受欢迎的字符。
  3. 制作一个文本数组。
  4. 在 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 什么也没显示。

谁能告诉我为什么我的代码没有按预期工作?

最佳答案

你有各种各样的问题,但我已经在这个演示中解决了它们:

http://jsfiddle.net/TzSLh/

  1. array.length()应该是 array.length .这导致了致命的语义错误。
  2. str.split(str, ' ')应该是 str.split(' ') .第一个参数是要分割的字符串。
  3. .html("string')每次都会覆盖 HTML。我已经用一种允许您附加 html 内容的方法对其进行了更新。您也可以使用 .text如果只是文字。如果您想要可见的换行符,请使用 CSS white-space: pre , 或使用 <br>而不是 \n .您也可以跳过循环并执行 $("div.put").text(array.join("\n"));

关于javascript - jQuery 在 div 中显示数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15144059/

相关文章:

javascript - 读取和设置选择器/img 宽度和高度

JavaScript 中位数计算器

javascript - 文本框中自动完成

ajax - Jquery Mobile - 设置全局超时

java - 正则表达式 : filter a character in an expression but not inside the quotation mark

javascript 验证仅适用于字母值

regex - 庆典 + sed : trim trailing zeroes off a floating point number?

javascript - 直接在组件标签中编辑子组件的 props 值

javascript - 无法通过滑动来为 jquery mobile 工作

javascript - 整数的正则表达式不产生结果