【问题标题】:How to use JQuery to truncate the contents of option tags?如何使用 JQuery 截断选项标签的内容?
【发布时间】:2011-02-15 12:11:40
【问题描述】:

请看这里:http://www.binarymark.com/Products/FLVDownloader/order.aspx

我想要做的是摆脱选项标签内的价格。在该页面上,您可以在“订单信息”、“产品”下看到一个下拉框。我想从该框中包含它们的所有选项中删除价格,因此例如去掉“ - $75.98”。我不习惯 JQuery,但我意识到这是可能的 - 只是不知道该怎么做,所以非常感谢您的帮助。

谢谢。 乔治

【问题讨论】:

  • 服务器端不是更简单吗?

标签: javascript jquery html-parsing


【解决方案1】:

很遗憾,根据您的原籍国,Plimus 不允许继续此过程。所以我帮不了你! :)

但这是一般的想法:

if ($('#field > div.field-item:contains("someText")').length > 0) {
$("#somediv").addClass("thisClass");
}

【讨论】:

    【解决方案2】:

    这样的事情应该可以解决问题:

    $('select[name="contractId"] > option').each(function ()
    {
        var $this = $(this);
        $this.text($this.text().split(/\s-/)[0]);
    });
    

    这应该将文本拆分为一个数组,其中“想要的”部分作为索引 0,并将文本设置为该索引中包含的任何内容。如果您愿意,也可以使用替换正则表达式。

    如果用户在他们的机器上禁用了 JS,那么在服务器端执行此操作会更有意义,您可能会遇到显示错误价格的问题。

    【讨论】:

    • 非常感谢!那成功了!但它是否适用于所有主流浏览器?
    • @George:jQuery 处理与text() 的浏览器差异,尽管split 确实因实现而异,但这个特定的正则表达式在所有实现中应该是相同的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-24
    • 2017-02-12
    • 2011-03-05
    • 1970-01-01
    • 2011-01-11
    相关资源
    最近更新 更多