मेरे पास एक तत्व है:

<button id="buttonId" class="someClass anotherClass" onclick="javascript:somefunction('param1', 'param2')">
</button>

मैं जो चाहता हूं वह मान 'param1' और 'param2' प्राप्त करने का एक तरीका है। क्या कोई तरीका है कि मैं इसे केवल जावास्क्रिप्ट (jQuery नहीं) के साथ प्राप्त कर सकता हूं?

मैं इसके साथ मूल्य प्राप्त करता हूं:

var value = document.getElementById('buttonId').getAttribute('onclick');
-1
Nagarjun Prasad 3 अप्रैल 2018, 16:22

3 जवाब

सबसे बढ़िया उत्तर
var value = document.getElementById('buttonId').getAttribute('onclick');
console.log(value.split(/\(|\)/g)[1].split(/,\s*/g));
<button id="buttonId" class="someClass anotherClass" onclick="javascript:somefunction('param1', 'param2', 'param3')">Click
</button>
1
atiq1589 3 अप्रैल 2018, 13:34

आइए एक फ़ंक्शन को लागू करें जो इसके मापदंडों से अवगत है:

function wrapper() {
    //Here I am logging it to the console, but one can do virtually anything with arguments
    console.log(arguments);
    //If you want to execute somefunction, then uncomment the next line
    //somefunction.call(arguments);
}

और अब सुनिश्चित करें कि आप somefunction के बजाय wrapper को कॉल कर रहे हैं:

eval(button.attributes['onclick'].value.substring(11).replace('somefunction', 'wrapper'));
0
Lajos Arpad 3 अप्रैल 2018, 14:05

ये कोशिश करें। समझने में आसान हो सकता है

var attr =  document.getElementById("buttonId").getAttribute("onclick")  
console.log(attr.split("(")[1].split(")")[0].split(",").map(function (el) {
  return el.trim();
}))
<button id="buttonId" class="someClass anotherClass" onclick="javascript:somefunction('param1', 'param2', 'param3')">Click
</button>
1
Muhammad Usman 3 अप्रैल 2018, 14:10