2015-04-03 26 views
0

我學到了一些的Xquery(基礎知識)最好使用JavaScript或XQuery嗎?

例如這樣的:

<?xml version="1.0" encoding="utf-8"?> 
 
<!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> 
 
    <script type="application/xquery"> 
 
     declare sequential function local:set($loc, $evt) { 
 
     b:setStyle(b:dom()//body, "background-color", $loc/@value) 
 
     }; 
 
     
 
     for $button in b:dom()//input[@type="button"] 
 
     return 
 
     b:addEventListener($button, "onclick", local:set#2) 
 
    </script> 
 
    </head> 
 
    <body> 
 
    <h1>Change the background color</h1> 
 
    <input type="button" value="Blue"/> 
 
    <input type="button" value="Red"/> 
 
    <input type="button" value="Green"/> 
 
    <br/> 
 
    <input type="button" value="Black"/> 
 
    <input type="button" value="White"/> 
 
    <input type="button" value="Yellow"/> 
 
    </body> 
 
</html>

這改變對點擊的顏色。現在,x-查詢中的編碼與JS相比如何?可以使用X查詢而不是完全使用JavaScript嗎?哪一個可以更好地控制這些元素?

我在浪費時間學習XQuery嗎?我問這是因爲幾乎每個人都只談論JavaScript。使用XQuery代替JS可行嗎?他們如何在瀏覽器支持方面進行比較?

+0

我會說與js一起去,因爲沒有多少人知道xQuery,可以說你使用xQuery製作項目,一年後有人更新它,他會受到很多... – ZetCoby 2015-04-03 10:48:51

+0

單擊按鈕實際上*不*改變背景顏色(使用Chrome和IE11) – 2015-04-04 02:47:20

回答

1

使用JavaScript,你可以像這個例子一樣簡單地做到這一點。

(我不得不說,你對我的測試並沒有真正的代碼編輯器內工作)

你應該很容易識別代碼結構,它並沒有真正改變這麼多。一個函數,用於設置顏色,onClick事件附加setColor函數的函數,以及一個查詢來獲取您想要設置事件處理函數的項目。

function setColor() { 
 
    document.body.style.background = this.value; 
 
} 
 

 
function onLoad() { 
 
    var input = document.getElementsByTagName('input'), 
 
    i, len, item; 
 

 
    for (i = 0, len = input.length; i < len; i++) { 
 
    item = input[i]; 
 
    if (item.getAttribute('type') === 'button') { 
 
     item.addEventListener('click', setColor.bind(item)); 
 
    } 
 
    } 
 
} 
 

 
window.onload = onLoad;
<h1>Change the background color</h1> 
 
<input type="button" value="Blue" /> 
 
<input type="button" value="Red" /> 
 
<input type="button" value="Green" /> 
 
<br/> 
 
<input type="button" value="Black" /> 
 
<input type="button" value="White" /> 
 
<input type="button" value="Yellow" />

在JQuery的是,更容易,還有你可能只是做這樣的:

$(function() { 
 
    $('input[type=button]').on('click', function(e) { 
 
    $(document.body).css('background', e.currentTarget.value); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<h1>Change the background color</h1> 
 
<input type="button" value="Blue" /> 
 
<input type="button" value="Red" /> 
 
<input type="button" value="Green" /> 
 
<br/> 
 
<input type="button" value="Black" /> 
 
<input type="button" value="White" /> 
 
<input type="button" value="Yellow" />

我會說使用Javascript更有意義。這裏有很多框架,很多人已經嘗試過你最有可能嘗試的東西,所以如果你陷入困境或者有問題,你將有更多的資源去尋找解決問題的方法。

相關問題