Javascript 如何在不使用id的情况下选择锚定标记内的按钮?

Javascript 如何在不使用id的情况下选择锚定标记内的按钮?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个页面,其中按钮是由PHP基于MySQL表动态生成的。每个按钮都位于锚定标记内。单击锚定标记时,它调用一个Javascript函数,该函数执行多个操作 对于其中一个操作,我需要获取按钮的值并将其作为参数传递。抱歉,我不能使用ID,因为按钮是动态生成的,可能有任意数量的按钮 以下是按钮/锚定代码: <a href="javascript:void(0)"onclick="updateDetails($(this).text(),$(this).closest('li').attr('i

我有一个页面,其中按钮是由PHP基于MySQL表动态生成的。每个按钮都位于锚定标记内。单击锚定标记时,它调用一个Javascript函数,该函数执行多个操作

对于其中一个操作,我需要获取按钮的值并将其作为参数传递。抱歉,我不能使用ID,因为按钮是动态生成的,可能有任意数量的按钮

以下是按钮/锚定代码:

<a href="javascript:void(0)"onclick="updateDetails($(this).text(),$(this).closest('li').attr('id'),<SOMETHING HERE TO GET VALUE OF BUTTON>);"><button type="button" class="regbutton" value="'.$row['instance_id'].'">'.$row['DATE'].'</button></a></span>';

似乎jQuery函数像.next只适用于像li这样的元素集,而不是两种不同的元素类型。有什么想法吗?

也许它不是有效的HTML,但你可以让它工作。 我举了一个例子,通过选择子元素的button元素,我检索了值

<script>
    function updateDetails(a, b, c){
        alert(c);
    }
</script>
<a href="#" onclick="updateDetails($(this).text(),$(this).closest('li').attr('id'), $(this).children('button').val());"><button type="button" class="regbutton" value="test">click</button></a>
我希望此解决方案适合您:


Stefan

如果您使用的是JavaScript,我希望它可以正常工作

<!DOCTYPE html>
<html>
<head>
<script>
function test()
{
   alert("Hiii");
   var x=document.myForm.click.value;
   alert(x);
}
</script>
</head>
<body>
<form name="myForm" action="html_form_action.asp" method="get">
<a href="#"><input type="button" name="click" value="click" onclick="test()"/></a>
</form>
</body>
</html>

在HTML中,不能在锚点内有按钮。。。。这一点得到了广泛的解释。如果您能够使用.find而不是.closest,应该会有所帮助。似乎像.next这样的jQuery函数只适用于像li这样的元素集,而不是两种不同的元素类型-否,如文档中所述。next适用于兄弟元素,即具有相同父元素的元素,而不是相同类型的元素。我不能使用ID,因为按钮是动态生成的,可能有任意数量的按钮。-这就是你使用类的时候。虽然如果外部元素只包含一个子元素,忽略在锚点中放置按钮是没有意义的,但您甚至不需要类。@quentin Jeez,您是对的。考虑到这一点,我可以将我需要的变量直接粘贴到函数调用中!谢谢,以一种循环的方式:这将给你按钮的价值。