2011-04-19 34 views
0

Flex/AS3中的以下代碼的等效項是什麼?將JavaScript代碼轉換爲Action腳本代碼?

var elem = document.getElementById('hiddenTestDiv'); 
elem.innerHTML = '<b><span class="redText">H</span>ello <span>World!</span></b>'; 
var innerText = elem.innerText; // equals 'Hello World!' 
var contentLength = elem.innerText.length; // equals 12 
+5

我不確定這是正確的問題。要求人們直接轉換你的代碼是不好的形式。 – 2011-04-19 03:54:53

+0

呃,AFAIK閃光燈不使用DOM ...你爲什麼要這樣做? – tjameson 2011-04-19 04:02:20

+0

這裏有沒有Flex代碼?或者你只是試圖在Flex中重新創建相同的東西? – 2011-04-19 11:55:43

回答

0

我沒有得到清楚你的問題的基本宗旨,即 遍歷上特有的元素,並得到它內容/文本以及其內容/文本lenght。如果是這樣,這個樣本可能會有所幫助

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" 
    creationComplete="{getElementByID('txt', this)}"> 
    <mx:Script> 
     <![CDATA[ 
      import mx.controls.Text; 
      import mx.core.Container; 

      import mx.core.UIComponent; 
      import mx.controls.Alert; 

      private function getElementByID(name:String, container:Container):void 
      { 
       var child:DisplayObject = container.getChildByName(name); 

       if (child != null) 
       { 
        Alert.show(Text(child).text+", Length :"+Text(child).text.length.toString()); 
        return; 
       } 
       for each(var childContainer:Container in container.getChildren()) 
       { 
        getElementByID(name, childContainer); 
       } 

      } 



     ]]> 
    </mx:Script> 

    <mx:HBox id="hBox" > 
     <mx:Text text="Hello World" name="txt"/> 
    </mx:HBox> 

</mx:Application> 

在此示例功能的getElementById在給定的使用容器例如應用

希望的層次,有助於

給出 得到控制
0

簡短的回答,沒有'正確'的方式來將JavaScript轉換爲Flex。你必須明白,AS3是面向對象的,而Javascript不是。背後的兩個基本概念也非常不同(顯示列表,時間軸,幀,事件,綁定等)。

兩者之間的唯一相似之處在於actionscript基於ECMAScript鬆散地構建,Javascript也是如此。

但是,對於這種特殊情況,您似乎試圖將新數據綁定到標籤,但由於缺乏具體信息,我無法給出任何示例代碼。

+0

你是對的,JS和AS3的基本平臺是不同的,但它也是一個事實,即兩種語言都不是純粹的OOPs,就像在AS3中我們不能重載的方法一樣,JS也可以做一些OOPs事物plz ck鏈接http:// www .javascriptkit.com/javatutors/oopjs.shtml – Imran 2011-04-20 08:08:18

0

請注意,您可以在分配給htmlText屬性的字符串中放置一些有限的html。在下面的示例中,我在mxml組件中設置了粗體字體顏色屬性。這可以在html或actionscript中完成。