0

这是问题所在:

<h2><b>Progress: </b> <font color="87edff">3 / 5</font> <b>Clicks</b></h2>

我想用 PHP 或 Javascript 编写一个脚本来检查第一个数字(在这种情况下为 3),如果它大于某个数字(例如 5),则执行诸如显示隐藏文本、打开链接等操作。

有谁知道如何(或如果不能)做到这一点?我想过使用 POST + GET 变量,但没有成功。

4

2 回答 2

1

使用正则表达式获取 3/5,然后在/ 之后拆分,只需从数组中比较它。

您也可以作为另一条路线,命名包含 3/5 的元素并使用 jquery 获取该值。然后你会做同样的事情,拆分字符串/并比较它。

POST/GET 仅在提交表单或将数据发送到服务器上的脚本时可用。这些主要用于textarea和输入

于 2012-06-27T22:43:25.573 回答
0

如果您已经在使用 jquery,一些花哨的 jquery 选择器会这样做:

http://jsfiddle.net/qPPsH/1/

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 访问该值。尽管如此,还是展示了选择器的酷炫程度。

于 2012-06-27T23:20:17.063 回答