如何使用JavaScript查找文本?

时间:2012-02-19 01:55:44

标签: javascript search

所以这是我寻找价格的代码。

a = prompt("Link?") window.location = a var priceElement = document.getElementById('UserSalesTab').getElementsByTagName('tr')[1].getElementsByTagName('td')[2].getElementsByTagName('b')[0]; // Get the element that contains the price var price = parseInt(priceElement.innerHTML.match(/\d+/));

4 个答案:

答案 0 :(得分:0)

您是在发布到另一个页面还是在同一页面上从同一位置获得相同的号码? 如果是这种情况你可以使用。

     var myvar = document.getElementById('myfield').innerHTML;

答案 1 :(得分:0)

以下是在右侧页面(例如http://www.roblox.com/Red-RAWR-item?id=66330295)上您提到的具有私人销售清单的网站上的任何产品页面上找到最便宜价格的方式:

if (window.location.href.match(/http:\/\/www.roblox.com\/.*?\?id=\d+/) && document.getElementById('UserSalesLink')) {
    var priceElement = document.getElementById('UserSalesTab').getElementsByTagName('tr')[1].getElementsByTagName('td')[2].getElementsByTagName('b')[0]; // Get the element that contains the price
    var price = parseInt(priceElement.innerHTML.match(/\d+/)); // Store the price as an int
}

使用该代码,您最终会得到一个变量price,这是一个包含页面上最便宜价格的int。

我使用javascript的getElementById()方法和getElementsByTagName()方法将其缩小到正确的div,然后我使用match()方法从该元素中提取数字,并{ {3}}将价格存储为整数而不是字符串的方法。

答案 2 :(得分:0)

您需要做的是确保包含价格信息的元素(在您的情况下,b标记[顺便说一下,not recommended])具有{{1应用于它的唯一类(无意义的短语)。这样,我们可以使用Javascript专门定位该元素并拉动其文本。

应用id或类后,这就是您的代码应如下所示:

id

第一行将我们定位的元素指定给变量var myElem = document.getElementById("price"), price = myEleme.textContent; 。第二行将变量myElem设置为元素的文本值。

答案 3 :(得分:0)

 function xpath(xpath, element) {
        if (!element)
            element = document;
        return document.evaluate(xpath, element, null,
                                 XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    }

var prices  = xpath("//table[@class='ItemSalesTable']/tbody/tr/td[3]");
//now prices is an array of price elements

prices.snapshotItem(0).innerHTML; // price ( ignore this one )    
prices.snapshotItem(1).innerHTML; // <b style="color: Green;">R$900</b>
prices.snapshotItem(2).innerHTML; // <b style="color: Green;">R$975</b>
prices.snapshotItem(3).innerHTML; // <b style="color: Green;">R$980</b>

prices.snapshotLength(); // 11