0

我正在尝试从单击的元素中获取文本。javascript/jquery适用于IEchrome不适用于Firefox

HTML

<span class="spanclass">Click Me</span>
<br/>
<span id="displayDel"></span>

Javascript

$(document).ready(function () {
    $('.spanclass').click( function(cl) {
        onSelect(cl.delegateTarget);
    });
});

function onSelect(cldel)
{
    $('#displayDel').text("You "+cldel.innerText);
}

这是 JSFiddle http://jsfiddle.net/FdXNg/中的一个运行示例

IEChrome中,当您单击“单击我”时,它会显示“您单击我”。

Firefox中,当您单击“单击我”时,它会显示You undefined

我怎样才能在IE、ChromeFireFox中完成这项工作?

4

2 回答 2

1

试试$('#displayDel').text("You "+$(cldel).html());这个更像jquery的方式。;)

于 2013-07-24T14:54:57.667 回答
1

为什么要使用外部函数?这将做同样的事情(使用.text()jQuery 的功能):

$(document).ready(function () {
    $('.spanclass').click( function() {
       $('#displayDel').text("You "+$(this).text());
    });
});

演示:http: //jsfiddle.net/FdXNg/1/

如果要在单击后隐藏元素,请在代码的第 3 条规则后添加:

       $(this).hide(); //or `remove()`

编辑(评论后)

$(document).ready(function () {
    $('.spanclass').click(function() {
        onSelect($(this));
    });
});

function onSelect(cldel) {
    $('#displayDel').text("You "+cldel.text());
}
于 2013-07-24T14:53:02.697 回答