0

谁能解释为什么这个 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>");
}
4

3 回答 3

2

您需要为 Location 分配一个新对象才能在 Chrome 中工作

Location = new Object();
于 2013-08-02T22:27:06.853 回答
2

不是谷歌浏览器在这里不工作,而是 Firefox出于某种原因忽略了您未定义的命名空间。Location确保你已经定义了它并且你的函数属于它,或者只是以这种方式使用你的函数(这似乎更适合你的情况):

function removeMe(data) { ... }
function addMe() { ... }

并在您的链接的onclick属性onclick="removeMe('remove19p'); return false;"中,并onclick="addMe(); return false;"分别。

于 2013-08-02T22:36:08.657 回答
1

尝试这个 :

    function removeMe(data) {
        $('div').remove('#' + data);
        return false;
    };
    function addMe() {
        $('.container').append("<div class='phoneSet' id='remove19p'>" +
            "<p>I am a replacement phone19</p>" +
            "</div>");
    }

和 HTML:

<a href="javascript:void(0);" onclick="removeMe('remove19p');">Remove me</a>
<a href="javascript:void(0);" onclick="addMe();">Add me</a>
于 2013-08-02T22:25:42.907 回答