【发布时间】:2013-08-02 22:22:59
【问题描述】:
谁能解释为什么这个 jsfiddle 不能在 chrome 中运行,但在 Firefox 中却可以完美运行?
这是链接: http://jsfiddle.net/Bu33n/
以下是 jsfiddle 无法访问的代码:
<div class="container">
<div class="scheduleSet" id="remove19s">
<p>I am a schedule19</p>
</div>
<div class="scheduleSet" id="remove5s">
<p>I am a schedule5</p>
</div>
<div class="phoneSet" id="remove19p">
<p>I am a phone19</p>
</div>
<div class="phoneSet" id="remove5p">
<p>I am a phone5</p>
</div>
<a href="javascript:void(0);" onclick="Location.removeMe('remove19p');">Remove me</a>
<a href="javascript:void(0);" onclick="Location.addMe();">Add me</a>
</div>
JS:
Location.removeMe = function (data) {
var stuff = "";
stuff = data;
$('div').remove('#' + stuff);
return false;
};
Location.addMe = function () {
$('.container').append("<div class='phoneSet' id='remove19p'>" +
"<p>I am a replacement phone19</p>" +
"</div>");
}
【问题讨论】:
-
你为什么不使用
$('#' + stuff).remove()?就此而言,当您可以说'#' + data时,为什么还要有stuff变量? (请注意,当您立即将其设置为下一行的其他内容时,将stuff初始化为空字符串是没有意义的。) -
@nnnnnn 我的印象是必须通过 jquery 文档以这种方式完成。
-
没有。
$('div').remove('#' + stuff)表示首先选择页面上的所有 div 元素,然后删除与'#' + stuff选择器匹配的元素。使用$('#' + stuff).remove()既简单又快捷,因为它表示首先选择与该id 匹配的元素,然后将其删除。 -
@DavidThomas 哎呀,你是对的,我没有定义命名空间。稍后我会发布更具体的问题。
-
@nnnnnn 谢谢我试试看。
标签: javascript jquery google-chrome