I have to copy and paste the values of input type="button" (ie value="1.25", value="3.50") from a lot of pages. Is it possible using jquery or greasemonkey?
<td>
<input type="button" onmouseout="btnGiocataOut(开发者_开发问答this)" onmouseover="btnGiocataOver(this)" onclick="aggiungiScommessa(6659, 12, 22, 1, 125)" value="1.25" class="ris">
</td>
<td class="valore" colspan="1">Over</td>
<td>
<input type="button" onmouseout="btnGiocataOut(this)" onmouseover="btnGiocataOver(this)" onclick="aggiungiScommessa(6659, 12, 22, 2, 350)" value="3.50" class="ris">
</td>
http://www.learningjquery.com/2006/12/jquerify-bookmarklet
JQuery bookmarklet - and then in firebug console:
$("input[type='button']").each(function() { console.log($(this).val()); });
Yes, if you want to grab button values automatically, without futzing with Firebug on every page, Greasemonkey can do that.
Here's a script that should get you started. Be sure to adjust the @include
statements to match your target sites.
//
// ==UserScript==
// @name Button value grabber
// @namespace Gambling
// @description Grabs button values.
// @include *
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// ==/UserScript==
//
$(document).ready (Greasemonkey_main);
function Greasemonkey_main ()
{
/*--- Create a container div and area for the values. It will be styled and
postioned with CSS.
*/
$("body").append
(
'<div id="GM_PopUpDiv">'
+ '<h3>Button Values on this page:</h3>'
+ '<form id="GM_ContForm"><textarea id="GM_BtnValues"><\/textarea><\/form>'
+ '<\/div>'
);
//--- Make it almost invisible when not moused over.
$('#GM_PopUpDiv').hover
(
function () { $(this).stop (true, false).fadeTo (50, 1); },
function () { $(this).stop (true, false).fadeTo (900, 0.15); }
);
/*--- Copy the button values. Fine-tune the selector to taste.
For example, input.ris[type='button']
*/
var NumRows = 0;
var BtnVals = $("input[type='button']").map (function(J) {
NumRows = J;
return this.value;
} ).get ().join ('\n')
;
/*--- Paste the values into the textarea and adjust the height to the data
(within the min/max set by CSS, below).
*/
$("#GM_BtnValues").text (BtnVals). css ('height', NumRows + 4 + 'em');
}
//--- This is just CSS to make the new stuff look "purty".
GM_addStyle
(
'#GM_PopUpDiv \
{ \
font-size: 16px; \
background: wheat; \
border: 3px double #999999; \
margin: 5px; \
\
min-height: 100px; \
min-width: 400px; \
padding: 5px 20px; \
\
opacity: 0.15; \
z-index: 1222; \
position: fixed; \
top: 0px; \
left: 0px; \
} \
#GM_PopUpDiv textarea \
{ \
font-size: 16px; \
min-height: 6em; \
max-height: 32em; \
width: 100%; \
padding: 8px; \
word-wrap: normal; \
} \
#GM_PopUpDiv h3 \
{ \
font-size: 16px; \
text-align: left; \
margin: 0px; \
} \
'
);
I use Firebug and jQuery in one-off situations like this. I load jQuery dynamically if necessary: $('<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" />').appendTo(document.body);
. That goes in the Firebug console. Then I would use something like $('input').each(function() { console.log($(this).val()); });
, and it would print out a list that I could easily copy. I would repet these steps for every page.
精彩评论