js如何获取动态的id

<button type="button" class="btn" id=" + turnBackId + " onclick="turnBackOrderHandle( turnBackId )">
上面是一个button控件,id是动态的。现在想点击按钮之后在js里面把点击的按钮隐藏。请问像上面那样把id传递过去有什么问题吗。我在js里把turnBackId输出好像并不是我想要的那个id的值
下面是js里点击触发的事件,可以就是隐藏不了。。不知道错在哪里
function turnBackOrderHandle(turnBackId)
{
$("#" + turnBackId).css("visibility",""hidden");

}

1、新建一个html文件,命名为test.html。

2、在test.html文件中,使用script标签加载jquery.min.js文件,成功加载该文件,才能使用jquery方法。

3、在js标签内,在页面加载完成时,获取body对象,使用append()方法向body动态添加一个div元素。

4、在test.html文件中,使用button标签创建一个按钮,按钮名称为“获取id值”。

5、在test.html文件中,给button按钮绑定onclick点击事件,当按钮被点击时,执行getid()函数。

6、在js标签内,创建getid()函数,在函数内,通过元素名称获得div对象,使用attr()方法获得动态添加div的id值,并使用alert()方法将值输出。

7、在浏览器打开test.html文件,点击按钮,查看结果。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-23

1、在我们的电脑上打开软件,新建一个html页面。

2、在html页面创建一个id为xx,值为666的文本框,通过var v=document.getElementById('xx').value;原生js方法来获取文本框的值。

3、在script中加上alert(v);,来弹框查看原生js方法是否根据id获取元素的值了。

4、在浏览器中运行项目,可以看到页面弹框的值是id为xx的元素的值,已经成功通过原生js方法根据id获取元素。

5、jquery方法需要先添加jquery.js,然后通过var w = $('#xx').val();来获取元素的值。

6、我们运行项目,在浏览器中可以看到与原生js方法获得元素的值相同。

本回答被网友采纳
第2个回答  推荐于2017-10-06

可以通过jquery获取ID,然后拆分ID,就可以获取想要的id了 。例如:

<div id="getid">
<ul>
<li id="li1">标题1</li>
<li id="li2">标题2</li>
<li id="li3">标题3</li>
</ul>
</div>

<script type="text/javascript">
$("#getid li").each(function(){
var li_id = $(this).attr("id");
id = li_id.replace("li","");
});
</script>

第3个回答  2014-08-21
<script type="text/javascript">
function fnGetId(val){
alert(val.id);
val.style.display="none";
}
</script>
</head>

<body>
<input type="button" value="获取ID" id="ww" onclick="fnGetId(this)"/>
</body>
第4个回答  推荐于2017-09-02
<button type="button" class="btn" id="+ turnBackId + " onclick="turnBackOrderHandle(this.id)">

js:
function turnBackOrderHandle(id){
document.getElementById(id).style.display="none";//隐藏
}追问

不好意思,我试过把document.getElementById(id)用alert显示出来,结果是null

追答

你看一下浏览器页面的源代码,是不是id="+ turnBackId + "
本身就为空

追问

不是,只看button的id的话是有值的,但是传递出来就没有

追答

没道理啊,再看下浏览器页面源代码,button的onclick方法里面传的值是不是和id的一样。如果方法括号里面有值的话那应该是没问题的。
我刚才试了一下,我这边是完全没问题的

追问

我刚刚看了下,this.id是undefine的。。还有我那个button都是用js动态插入的,不知道会不会写错
html += '<button type="button" class="btn" id="' + turnBackId + '" onclick="turnBackOrderHandle(' + this.id +')" ';

追答

this.id不要用引号引起来啊。。
onclick="turnBackOrderHandle(' + this.id +')"
改成
onclick="turnBackOrderHandle(this.id )"

如果你用加号扩起来,就是拿变量了,你根本没那变量
还有你html代码有没有错,最好就看浏览器页面的源代码,这样好分辨一点

本回答被提问者采纳
相似回答