如何获得函数参数n#39; js中的文本值?

时间:2014-08-21 05:20:23

标签: javascript

我找到了一些代码:

<a onclick="return dosomething('1234567')"></a>

我想得到“1234567”,无论如何都没有正则表达式吗?

代码在www.xxxxxxxx.com上的html中,我无法更改,dosomething函数中的参数是用作id的数据。我想收集id信息。

所以html可能是

<a onclick="return dosomething('1')"></a>
<a onclick="return dosomething('2')"></a>
<a onclick="return dosomething('3')"></a>
<a onclick="return dosomething('4')"></a>

我想在浏览器的控制台中运行一些js代码来获取“1”,“2”,“3”,“4”等数据

我用过jquery获取类似

的html
$("a")

然后我不知道如何在“dosomething函数”中获取参数。这对我来说只是一个文字。

2 个答案:

答案 0 :(得分:1)

试试这个

$(function () {
    var txt = $('a[onclick^="return dosomething("]').map(function () {
        return this.getAttribute('onclick').match(/'.*'/)[0];
    }).get().join(",");
    alert(txt);
});

编辑:没有RegExp

$(function () {
    var txt = $('a[onclick^="return dosomething("]').map(function () {
        var attr = this.getAttribute('onclick');
        return attr.substring(attr.indexOf("'"), attr.lastIndexOf("'") + 1);
    }).get().join(",");
    alert(txt);
});

答案 1 :(得分:1)

试试这个

$(document).ready(function(){
    var new_text = "";
    $("a").each(function(){
        var str = $(this).attr("onclick");

        var newtext = str.substring(str.lastIndexOf("(")+1,str.lastIndexOf(")"));
        if(new_text=="")
            new_text += newtext;
        else
            new_text += ","+newtext;            
    });
    alert(new_text);
    console.log("New Text : "+new_text);
});

<强> FIDDLE DEMO