「Javascript/jquery」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→imgがロードできなかった時に処理させる) |
(→imgがロードできなかった時に処理させる) |
||
| 行184: | 行184: | ||
</script> | </script> | ||
参考:http://semooh.jp/jquery/api/events/error/fn/ | 参考:http://semooh.jp/jquery/api/events/error/fn/ | ||
| + | |||
| + | ==すべてのクラスを取得== | ||
| + | $(".class1").each( function() { | ||
| + | alert($(this).val()); | ||
| + | }); | ||
2017年1月19日 (木) 12:25時点における最新版
目次
- 1 ダウンロード
- 2 講座
- 3 jqueryを設置せずにjqueryを使う
- 4 セレクター選択
- 5 クリックイベント
- 6 自作関数
- 7 Inputの扱い
- 8 チートシート
- 9 基本
- 10 ajax
- 11 ロード後実行
- 12 DOM
- 13 クリック開閉
- 14 タグ属性変更
- 15 イベントハンドラ例
- 16 イベント追加
- 17 クリック時した先のmethodのthisを読めるように
- 18 自分自身オブジェクト
- 19 イベントの戻り値に同クラスを指定する
- 20 TypeError: $.browser is undefinedエラーが出る場合
- 21 imgがロードできなかった時に処理させる
- 22 すべてのクラスを取得
ダウンロード
http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
講座
jqueryを設置せずにjqueryを使う
googleのapi
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
セレクター選択
|HTML要素|$("body")| |id属性を持つ要素|$("#id1")| |class属性を持つ要素|$(".class1")|
クリックイベント
<script type="text/javascript">
$(document).ready(function(){
$("#d1").click(function(e){
alert("test");
});
});
</script>
<div id="d1">
</div>
自作関数
$(document).ready(function(){
function test() {
}
}
Inputの扱い
<input type='text' id='title' name='title'/>
// データ取得
$("#title").val();
// データ更新
$("#title").val('data1');
チートシート
http://phpspot.org/blog/archives/2008/02/javascriptajax_1.html
基本
- 基本
タグ無いの文字取得
$("q").html();
$("q").text();
class指定
$(".class1").html();
id指定
$("#id1").html();
- 書換
$("q").html("書換文字");
- 効果
フェードアウト
$("p").fadeOut("slow");
フェードイン
$("p").fadeIn("slow");
フェードアウトイン
$("p").fadeOut("slow").fadeIn("slow");
- css追加
$("p").css("background-color", "#fff0ff");
- class追加排除
$("p").addClass("class1"); // 追加
$("p").removeClass("class1"); // 排除
- 表示非表示("slow", "fast")
$("p").hide();
$("p").show();
ajax
- ファイルロード表示
$("p").load("import.html");
$("p").get("import.php", {name: "test",id: 1}); // getパラメータ
$("p").post("import.php", {name: "test",id: 1}); // postパラメータ
$.ajax({
url: "test.html",
cache: false,
success: function(html){
$("#results").append(html);
}
});
ロード後実行
$(function(){
// HTMLロード後に実行
});
DOM
- タグの数
$("p").size()
var $target = $("#target1");
$("p" $target).size(); ~タグ内のタグの数
クリック開閉
$(function(){
$(".btn").click(function(){
$(".window").toggle("slow");
return false;
})
});
<a href="" class="btn">test</a>
<div class="window">
test
</div>
タグ属性変更
$('#hoge').attr('href', 'http://www.example.com/');
イベントハンドラ例
$.proxyを使うとコールバックでthisが使える
var Class1 = function(name) {
this.name = name;
}
Class1.prototype = {
post1 : function() {
$.ajax({
url: "/post.php",
data: {
"data1": "hoge1",
"data2": "hoge2"
},
cache: false,
success: $.proxy(this.postOnSuccess, this)
});
},
postOnSuccess : function(jsonhtml) {
console.log(this.name);
}
}
var class1 = new Class1();
class1.post1();
イベント追加
$("#test1").bind("click", click1);
function click1(e) {
alert("test");
}
クリック時した先のmethodのthisを読めるように
$(function(){
var Car = function(name) {
this.name = name;
}
Car.prototype.getname = function(e) {
console.log(this.name);
}
var car = new Car("taro");
$(".btn").click($.proxy(car.getname, car));
});
自分自身オブジェクト
$(this).
$(this).css("display", "none"); // これだと自分自身を非表示とする
イベントの戻り値に同クラスを指定する
bind(this)を使う。
function Favorite(){
}
Favorite.prototype.onclick = function(url) {
$.get('/regist?url='+url, this.oncomplete_regist.bind(this));
};
Favorite.prototype.oncomplete_regist = function(data){
this.view_regist(); // bind(this)を使うと内部メソッドを指定できる
};
Favorite.prototype.view_regist = function(){
console.log("view_regist");
};
TypeError: $.browser is undefinedエラーが出る場合
jQuery1.9系以上で$.browserが廃止されたため以下のように切り替える
$.browser.msie
↓
$.support.msie
imgがロードできなかった時に処理させる
<img src="/assets/img/test.jpg" class="img1" />
<script type="text/javascript">
$("img.img1").error(function(){
$(this).hide();
alert("Not Found");
return true;
});
</script>
参考:http://semooh.jp/jquery/api/events/error/fn/
すべてのクラスを取得
$(".class1").each( function() {
alert($(this).val());
});
