如何动态地将Id传递给javascript

时间:2011-06-22 09:21:02

标签: javascript html asp.net-mvc model-view-controller asp.net-mvc-2

function jsarea3() { document.getElementById("Txtarea3").title = document.getElementById("Txtarea3").value; }
function jsarea4() { document.getElementById("Txtarea4").title = document.getElementById("Txtarea4").value; }
function jsarea5() { document.getElementById("Txtarea5").title = document.getElementById("Txtarea5").value; }

上面的代码是在鼠标悬停时显示文本框区域中的数据。 正如您所看到的,对于所有3个函数,运行的代码是相同的,区别仅在于ID 如何动态传递ID 就像我可以使用内部代码作为所有3的功能以及如何使用它

以及代码如下所示的代码

$('#button1').focus(function () {
      $('#button1', window.parent.document).css("background-color", "#fcc63b"); 
    }
});

5 个答案:

答案 0 :(得分:2)

由于您使用相同的元素标题和值,您可以存储引用而不是搜索它两次..

function jsarea(anId) { 
  var elem = document.getElementById(anId);
  elem.title = elem.value;
}

您可以使用jsarea('Txtarea3');

来调用它

对于第二个代码,它是jQuery代码,它似乎改变了一个按钮的背景颜色,其id与在父窗口中获得焦点的按钮相同(当你使用iframes时

答案 1 :(得分:2)

如果你使用的是jquery,你可以选择这样的textareas

$("textarea").focus(function(){
this.title = $(this).val();

});

您可以将选择器指定为更适合您要操作的项目 当您的textarea获得焦点时,该功能将运行 看一下jquery,它简化了你的代码

答案 2 :(得分:1)

您可以使用单个函数,该函数采用表示您要引用的元素的id的参数:

function jsarea(elementId) {
    document.getElementById(elementId).title = document.getElementById(elementId).value;
}

如果您想使用jsarea("Txtarea3");“Txtarea3”影响该元素,可以将其称为id

答案 3 :(得分:0)

使用参数。

此外,您应该看看jQuery - 它可以真正简化DOM操作代码。

答案 4 :(得分:0)

function jsarea(number) { document.getElementById("Txtarea" + number).title = document.getElementById("Txtarea" + number).value; }