在页面上的以下标记中,我想提取以下内容并将它们放在单独的变量中。
1-在onclick属性中获取“ProductID”之后的值并将其放入自己的变量中。 “产品ID” 所以在这种情况下它将是318
2-在onclick属性中获取“Orig_price”之后的值并将其放入变量“Orig_Price”中,因此在这种情况下它将是22.95
3-在onclick属性中获取“width”之后的值并将其放入变量“width”中所以在这种情况下它将是330
4-在onclick属性中获取“height”之后的值并将其放入变量“height”中所以在这种情况下它将是300
<a href="javascript:void(0);" onclick="window.open('/BulkDiscounts.asp?ProductID=318&ProductCode=' + escape('LB30X40ES') + '&Orig_Price=22.95', 'Discounts', 'scrollbars,status,resizable,width=330,height=300');"><img src="/v/vspfiles/templates/100/images/buttons/btn_quantitydiscounts.gif" border="0" align="absmiddle"></a>
答案 0 :(得分:1)
试试这段代码:
var string = $('a').attr('onclick') + ""; // to be sure var string is string
ProductID = string.match(/ProductID=(\d*)/i)[1];
Orig_Price = string.match(/Orig_price=([\d\.]*)/i)[1];
width = string.match(/width=(\d*)/i)[1];
height = string.match(/height=(\d*)/i)[1];
答案 1 :(得分:1)
请忘记我之前的回答,这是错误的(测试它,我为错误的元素分配了id
)。您可以使用onclick
获取getAttribute
属性的值。出于测试目的,我将您的示例更改为
<a href="javascript:void(0);" id="test" onclick="window.open('/BulkDiscounts.asp?ProductID=318&ProductCode=' + escape('LB30X40ES') + '&Orig_Price=22.95', 'Discounts', 'scrollbars,status,resizable,width=330,height=300');"><img src="/v/vspfiles/templates/100/images/buttons/btn_quantitydiscounts.gif" border="0" align="absmiddle"></a>
现在document.getElementById("test").getAttribute("onclick")
返回
window.open('/BulkDiscounts.asp?ProductID=318&ProductCode=' + escape('LB30X40ES') + '&Orig_Price=22.95', 'Discounts', 'scrollbars,status,resizable,width=330,height=300');
现在您可以使用
获取值var theString = document.getElementById("test").getAttribute("onclick");
var ProductID = theString.match(/ProductID=(\d*)/i)[1];
var Orig_Price = theString.match(/Orig_price=([\d\.]*)/i)[1];
var width = theString.match(/width=(\d*)/i)[1];
var height = theString.match(/height=(\d*)/i)[1];
(代码是从Tambourine的答案中偷来的,所以请给他积分;)。
答案 2 :(得分:1)
更新的演示:
DEMO: http://jsbin.com/axuce3/3 消息来源: http://jsbin.com/axuce3/3/edit
var pieces = $('a').attr('onclick').toString().split('?')[1].split('=');
var parts = [];
for (var i = 0; i < pieces.length; i++) {
var value = parseFloat(pieces[i]);
if (!isNaN(value)) parts.push(value);
}
alert( 'ProductID=' + parts[0] + 'Orig_price=' + parts[1] + 'width=' + parts[2] + 'height=' + parts[3]);