English 中文(简体)
我如何把超文本部分作为向 Java字功能提出的论点?
原标题:How do I pass an HTML element as an argument to a Javascript function?
  • 时间:2009-10-05 06:31:21
  •  标签:

i 有一个聊天窗口,有近 but(投入类型=图像)和浮标,希望将聊天窗口从母子中删除,并使用该代码。

closeBtn.setAttribute("onclick", "return closeContainer(cc" + friendId + ");");

请注意,通过javascipt建立了这一子,而cc223423432(say)将成为聊天窗口的id。

这里是我的法典。

function closeContainer(ccId) {
    var x = ccId;
    x.parentNode.removeChild(x);
    //..........
}

now in IE8 and Chrome it finds the passed argument as HTMLDIV and works fine but in firefox it give an error cc223423432 is undefined any idea why???

i 知道,我总是能够做文件。 抵达 ElementByID, 然后予以撤销,但请说明是否有任何遗漏。

最佳回答

关闭Btn.setAttribute (“onclick”,“return nearContainer(cc) +otherId +”;

a. 承诺使用自动提款机确定活动处理器......实际上不使用超文本文件上的定本。 IE6-7中有一些影响包括事件处理器在内的许多特性的ug。 浏览器使用“DOM 2”超文本直属特性;改称可靠,使你的代码更容易读。

试图从扼杀中产生功能(这几乎总是错了),只是写:

closeBtn.onclick= function() {
    return closeContainer(document.getElementById( cc +friendId));
};

或者甚至仅仅将近距离装置的功能放在线上:

closeBtn.onclick= function() {
    var el= document.getElementById( cc +friendId);
    el.parentNode.removeChild(el);
    return false;
};

在火ox中,它给出了一个错误,cc223423432, 并不清楚为什么?

因为国际电子计算法对每个要素都包含<代码>id。 (或在某些情况下,<代码> 姓名/代码>) 因此,在电离层电离层电离层电离层电离层中,你可以删除“条码”栏,并提及你的物体。

但这确实是无法依赖的。 在其他浏览器中,除别的浏览器外,还把全球名称空间与碎裂混为一谈,一旦你在网页上确实有与<条码><<>id/code>相同的变量,就会错。

使用 a 如上文所述,我只字不提。 这在任何地方都行之有效,而且毫不含糊。

问题回答

Since the parameter is not enclosed in quotes Firefox considers this as a variable with name cc223423432 which is not defined. Thats why it generates the error.

更好地把这一点当作一种扼杀手段,然后加以利用

document.getElementById ( parameter );

接收物体。

你们需要把这一id带走:

closeBtn.setAttribute("onclick", "return closeContainer( cc" + friendId + " );");

然后:

function closeContainer(ccId) {
    var x = document.getElementById(ccId);
    x.parentNode.removeChild(x);
    //..........
}

jquery将在所有这些浏览器上工作。 我将采取以下行动:

closeBtn.click(function(){
    ( #cc  + friendId ).remove();
});

然而,如果你不希望获得学习杂草的补习时间,那么就象你一样,认为你需要把直径作为扼杀,否则,火ox就认为这是一种可变的名称(指在“近距离”呼吁中增加的单一字句):

closeBtn.setAttribute("onclick", "return closeContainer( cc" + friendId + " );");

或您可以做以下工作:

function handler(elementRef) {
  console.log(elementRef);
}
<button onclick="handler(this)">Click Me!</button>




相关问题
热门标签