js方法里带了个参数是元素的id,方法里面怎么用这个id来取元素?

比如:
<input type="text" id="aa" onclick="func(aa)" >

<script type="text/javascript">
function func(id){
// 此时参数id=aa;

//$("xx").val(); 这里如何取? input的value值

}

</script>

原生写法

document.getElementById(id).value//id是你函数传进来的id

ps:用原生js的效率更高

pps:前端的普遍做法是能用js简单就不用jq,jq选择器封装的js底层增加了查找过程中的算法复杂度。

ppps:如果非要用jq选择器,楼下已经给出了正确的方法,题主应该好好检查自己的代码。

追问

jq选择器不是更简洁好用吗?

ps:我没有测试过就不会说没用了。。。

能想到的写法都想了 无效才不得已上来问的

追答

html部分请写成这样:

<input type="text" id="aa"  onclick="func('aa')" >

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-07-02
$("#"+id).val()
//这个东西后面还有那么多回答错的!
onclick="func(this.id)",这样就对了。。。你要清楚传值是什么,aa这样的话你要'aa',才行,不过那与你的id就没任何关系了。

第2个回答  2014-07-02

直接

$(id).val();

就行了

<input type="text" id="aa"  onclick="func(aa)" value="cccc" > 
<script type="text/javascript">
    function func(id){
        var val = $(id).val();
        alert(val);
}
</script>

第3个回答  2014-07-02
var val = document.getElementById(id).value就可以追问

这个是可以,那用jq的规则取 的话就没有办法了?

追答

var val = $("#" + id).val();

有个朋友已经回答过了,这样是可以的

其实你可以这样做:

function func(ele){
var val = $(ele).val(); //或者 var val = ele.value;
}

追问

我。。。测。。。过。。。了。。。都。。。没。。。用。。。

能有把握了在告诉我吗?

追答

对你,我只想说,呵呵,你测过我给你写的代码了么? 至于那个id不对的,你自己写的马虎怪别人?知道也不告诉你,什么态度!。。

第4个回答  2014-07-02
首先。你的input没有value值。其次script中定义的id不等于input中的id
相似回答