防止Javascript警报中的换行符

时间:2015-04-07 13:52:30

标签: javascript jquery string alert line-breaks

我有一些代码用于识别在下拉菜单中单击哪些链接,并回读层次结构。 (父母,孩子,孙子)。代码很有效,我不想改变它。

问题是html中有换行符和回车符,并将它们包含在我的警报中,导致报告问题。

有没有办法可以使用现有代码,并添加忽略/删除任何中断或回车的内容?

 $("ul#menudropd .myclass li a").click(function() {
var granchild = $(this).text(),
parent = $(this).closest(".anotherclass").find("a:first").text();
  if ($(this).hasClass("subbold")) {
            child = "";
  } else {
child = $(this).closest("li").prevAll("li:has(a.subbold)").first().find('a').text();
  }
alert(parent + ":" + child + ":" + grandchild);
});

有些警报会像这样回复: " ClickedParent ::

ClickedGrandChild"

我想:" ClickedParent :: ClickGrandChild"每一次。

2 个答案:

答案 0 :(得分:1)

这将删除回车符和换行符代码:

alert((parent + ":" + child + ":" + grandchild).replace(/(\n|\r)/g,''));

答案 1 :(得分:0)

这是因为child未定义或为null。您需要检查未定义的子项或null,并根据您可以显示警报。像这样的东西,

if(child!=null && typeof child != 'undefined')
 alert(parent + ":" + child + ":" + grandchild);
else
 alert(parent + ":" + " " + ":" + grandchild);