2010-11-05 80 views
0

假设下面的HTML:如何从点击的锚点外部获取值onClick?

<tr id="record_1" > 
<td id="name_1"><a href="#" id="logNameAndValue">Charles Dickens</a></td><td id="value_1">A Christmas Carol</td> 
</tr> 

我如何通过部分地使用下面的jQuery的打印出name=Charles Dickens value=A Christmas Carol

$('#logNameAndValue').click(function(event){ 
    name=? 
    value=? 
    console.log("name=" + name + " value=" + value); 
}); 

回答

2
$('#logNameAndValue').click(function(event){ 
    name = $(this).text(); 
    value = $(this).parent().next().text(); 
    console.log("name=" + name + " value=" + value); 
}); 
+0

将为这种情况下工作,但如果他发生了改变表的结构,那么将无法正常工作。 – shoebox639 2010-11-05 15:56:41

+0

@ shoebox639 - 的确如此。但是OP特别说,“假设下面的HTML”告诉我这是他担心的HTML。如果改变了,他也必须更新脚本。关于您的解决方案也可以这样说...如果ID更改会怎么样? – 2010-11-05 15:58:42

0

Click事件的功能,该值将是$(本).siblings('td')。text()我相信,名字是$(this).text()。

1
name = $(this).text() 
value = $('#value_' + $(this).attr('id').substring($(this).attr('id').length-1)).text() 
1
$('#logNameAndValue').click(function(event){ 
    name=$(this).text(); 
    value=$(this).parent().next("td").text(); 
    console.log("name=" + name + " value=" + value); 
});