none
asp.NET能不能获取网页中指定颜色的问题,例如蓝色的文字,用JS也行,请问能实现么? RRS feed

答案

全部回复

  • 可以。

    以下是例子:

     <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CSharp._Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>示例代码</title>
        <script src="Scripts/jquery-1.7.1.js"></script>
        <script>
            function myfunction() {
                var contents = myDiv.getElementsByTagName("font");
                for (var i = 0; i < contents.length; i++) {
                    if (contents[i].getAttribute("color").trim() == "blue") {
                        alert(contents[i].innerText);
                    }
                }
            }
        
        </script>
    </head>
    <body onload="myfunction()">
        <form id="form1" runat="server">
        <div id="myDiv">
          <font color="blue">我是蓝色的文字</font>
            我是黑色的一般文字
        </div>
        </form>
    </body>
    </html>

    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处


    2012年9月4日 3:41
  • 可以。

    以下是例子:

     <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CSharp._Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>示例代码</title>
        <script src="Scripts/jquery-1.7.1.js"></script>
        <script>
            $(function ()
            {
                alert($("font[color='blue']").text());
            });
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
          <font color="blue">我是蓝色的文字</font>
            我是黑色的一般文字
        </div>
        </form>
    </body>
    </html>

    可以直接用JS么,jQuery我这不方便…
    2012年9月4日 3:52
  •         function myfunction() {
                var contents = myDiv.getElementsByTagName("font");
                for (var i = 0; i < contents.length; i++) {
                    if (contents[i].getAttribute("color").trim() == "blue") {
                        alert(contents[i].innerText);
                    }
                }
            }
    这样就不太灵活了,那些不是font标签的文字怎么获取呢,如果遍历页面所有元素那样就太麻烦了…
    2012年9月5日 2:26
  • 那你只能使用jQuery遍历属性color是blue的东西,取出text了……

    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年9月5日 2:31
  • happySnow_zhe  你好,

    根据你的问题描述,这是一个Asp.Net 相关问题,所以我将此帖移到“ASP.NET AJAX 中文”论坛。

    该论坛拥有更多此方面的专家,因此你将得到更加“高质量” 更加专业的回复以及更好的支持。

    感谢你的理解与支持。


    Lisa Zhu [MSFT]
    MSDN Community Support | Feedback to us


    • 已编辑 Lisa Zhu 2012年9月5日 2:39
    2012年9月5日 2:39
  •         function myfunction() {
                var contents = myDiv.getElementsByTagName("font");
                for (var i = 0; i < contents.length; i++) {
                    if (contents[i].getAttribute("color").trim() == "blue") {
                        alert(contents[i].innerText);
                    }
                }
            }

    这样就不太灵活了,那些不是font标签的文字怎么获取呢,如果遍历页面所有元素那样就太麻烦了…

    那你可以参数化  TagName 啊,函数可以定义为 myFunction(var tagName) { ... }
    2012年9月5日 5:35
  • happySnow_zhe:)

    因为标签种类太多,每一个属性啥不一样……要找到通用的方法只得全部遍历了。


    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年9月6日 2:04