这是问题所在:
<h2><b>Progress: </b> <font color="87edff">3 / 5</font> <b>Clicks</b></h2>
我想用 PHP 或 Javascript 编写一个脚本来检查第一个数字(在这种情况下为 3),如果它大于某个数字(例如 5),则执行诸如显示隐藏文本、打开链接等操作。
有谁知道如何(或如果不能)做到这一点?我想过使用 POST + GET 变量,但没有成功。
这是问题所在:
<h2><b>Progress: </b> <font color="87edff">3 / 5</font> <b>Clicks</b></h2>
我想用 PHP 或 Javascript 编写一个脚本来检查第一个数字(在这种情况下为 3),如果它大于某个数字(例如 5),则执行诸如显示隐藏文本、打开链接等操作。
有谁知道如何(或如果不能)做到这一点?我想过使用 POST + GET 变量,但没有成功。
使用正则表达式获取 3/5,然后在/
之后拆分,只需从数组中比较它。
您也可以作为另一条路线,命名包含 3/5 的元素并使用 jquery 获取该值。然后你会做同样的事情,拆分字符串/
并比较它。
POST/GET 仅在提交表单或将数据发送到服务器上的脚本时可用。这些主要用于textarea
和输入
如果您已经在使用 jquery,一些花哨的 jquery 选择器会这样做:
findThings = function(){
// select the first <b> elements that contain "Clicks", AND
// has a sibling before it that is a <font>, AND
// has a sibling THAT has both an <h2> as a parent, and contains the text "Progress".
var firstnumber = -1; // some number that doesn't make sense
var secondnumber = -1;
$('h2 > b:contains("Progress:") + font + b:contains("Clicks"):first').each(
function(){
//alert("Element is:",this);
//alert("Element contains:" + $(this).text());
// "this" is the <b> that contains "Clicks". Find the first sibling that is a <font> and grab the text from it.
text = $(this).siblings("font:first").text();
//alert(text);
numbers = text.split("/"); //split the text by "/" character.
if (numbers.length == 2){ // make sure there are two numbers!
firstnumber = numbers[0];
secondnumber = numbers[1];
}
}
);
alert("First number:" + firstnumber);
alert("Second number:" + secondnumber);
var whatever = 5;
if(firstnumber >= whatever){
alert("YOU WIN!");
}else{
alert("You Lose!");
}
}
但这仅适用于将代码放置在同一站点上的情况。如果它在同一个站点上,那么无论如何这都是一个可怕的想法,因为您可以在元素上粘贴一个 id 并通过 id 访问该值。尽管如此,还是展示了选择器的酷炫程度。