2010-08-02 202 views
11

我有一个页面,有几个div。所有的div都有一个唯一的ID。我想将该ID发送到JavaScript函数。我试图将它保存为一个值,并发送this.value,但这也不起作用。通过点击发送Div id到javascript

<div class='recordElem$val' id='$rname' value='$rname' 
onclick='javascript:updateRecord(this.value);'> 
     $name</div>" 
+5

您是否尝试过'this.id'? – slebetman 2010-08-02 16:25:23

回答

28

这里是一个jQuery回答

<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 

    <script type="text/javascript"> 
    function clicked(item) { 
    alert($(item).attr("id")); 
    } 
    </script> 


    <div onclick="clicked(this);" id="test">test</div> 
+0

这是一个很好的帮助@布兰登 – 2013-07-25 12:03:04

+0

有什么办法通过href做到这一点? – Samir 2013-09-12 12:06:42

+0

不错,谢谢! – GedankenNebel 2014-04-01 15:26:30

0

将this.id传递给javascript函数怎么样?

+0

我最初尝试过这种方式,出于某种原因它没有工作。现在它完美地工作。 – richsoni 2010-08-03 15:26:09

2

使用onclick="updateRecord(this)"和处理这样的:

function updateRecord(div) { 
    // statements 
    var id = div.id; // or however you want to use the id 
    // statements 
} 
6

看一看两种方式来解决这个问题

<html> 
<body> 
    <div id="scopeId" onclick="javascript:testScope.call(this)">Using scope</div> 
    <div id="parameterId" onclick="javascript:testId(this.id)">Using Parameter</div> 
    <script> 
     function testScope(){ 
      alert("Scope: " + this.id) 
     } 
     function testId(id){ 
      alert("Parameter: " + id) 
     } 
    </script> 
</body> 
</html> 
2

你可以将php变量值分配给javascript变量值。然后你可以使用它的onclick 例如:

<script language="javascript"> 
    var a=<?php echo $tabs['menu_id']; ?> 

    </script> 

    <a href="index.php" onclick="show_center(a);">pass it</a> 

在这里我们可以通过JavaScript的变量起作用。