jQuery .attr() dan .removeAttr()
.attr() digunakan untuk menyisipkan/mengubah atribut pada elemen target.
.removeAttr() digunakan untuk menghilangkan atribut pada elemen target.
Dasar Penggunaan
Kode di bawah ini akan menambahkan atribut title
dengan nilai Taufik Nurrohman
pada elemen berupa gambar jika gambar tersebut tidak memiliki atribut title
. Jika gambar tersebut sudah memiliki atribut title
dengan nilai tertentu, maka kode ini bertugas untuk mengubah nilai atribut title
gambar menjadi Taufik Nurrohman
:
$('img').attr('title', 'Taufik Nurrohman');
Kode di bawah ini akan mengambil data berupa nilai atribut alt
dari gambar untuk dimasukkan ke dalam variabel judul
:
var judul = $('img').attr('alt');
Kode di bawah ini akan menghapus atribut title
pada elemen berupa gambar:
$('img').removeAttr('title');
Contoh Penerapan: Menambah dan Menghapus Atribut pada Elemen
HTML
<div id='area'></div>
<div id='button-wrapper'>
<button class='add'>Tambahkan Atribut TITLE</button>
<button class='remove' style='display:none;'>Hilangkan Atribut TITLE</button>
</div>
CSS
#area {
width:200px;
height:300px;
background-color:#ffa500;
border:2px solid #fff;
-webkit-box-shadow:0px 1px 3px rgba(0,0,0,0.4);
-moz-box-shadow:0px 1px 3px rgba(0,0,0,0.4);
box-shadow:0px 1px 3px rgba(0,0,0,0.4);
cursor:pointer;
}
jQuery
$(function() {
$('button.add').click(function() {
// Tambahkan atribut title dengan nilai "Tooltip telah ditambah"
$('#area').attr('title', 'Tooltip telah ditambah');
$(this).hide();$('button.remove').show();
});
$('button.remove').click(function() {
// Hilangkan atribut title pada #area
$('#area').removeAttr('title');
$(this).hide();$('button.add').show();
});
});
Memanipulasi Beberapa Atribut Sekaligus
Mengubah beberapa atribut melalui satu .attr()
dapat dilakukan seperti ini:
$('a').attr({
'href':'#',
'title':'Blank Links'
});
Pandangan Lebih Jauh
Anda bisa menggabungkan fungsi ini dengan jQuery .html()
dan .text()
untuk menciptakan aplikasi sederhana sebagai alternatif untuk menunjukkan nilai lebar, tinggi, judul, atau apapun yang berasal dari nilai atribut pada gambar dengan cepat:
HTML
<img src='gambar1.jpg' alt='Anime' title='Keroro Gunso' width='300' height='200' />
<img src='gambar2.jpg' alt='Anime' title='Gundam Seed' width='700' height='400' />
<img src='gambar3.jpg' alt='Anime' title='Naruto Shippuden' width='1024' height='600' />
<div style='clear:both;'></div>
<div id='toolpik'>
<h3 class='imgTitle'></h3>
<div class='thumbnail'></div>
<table>
<tr><td class='bold'>Width:</td><td class='imgWidth'></td></tr>
<tr><td class='bold'>Height:</td><td class='imgHeight'></td></tr>
<tr><td class='bold'>URL:</td><td class='imgUrl'></td></tr>
<tr><td class='bold'>Alt:</td><td class='imgAlt'></td></tr>
</table>
</div>
CSS
img {
float:left;
border:2px solid #333;
}
#toolpik {
position:fixed;
top:10px;
left:10px;
z-index:10;
height:auto;
background:#eee2e2;
border:7px solid #cec2c2;
padding:0px;
font:normal 12px Arial,Sans-Serif;
-webkit-box-shadow:0px 1px 3px rgba(0,0,0,0.7);
-moz-box-shadow:0px 1px 3px rgba(0,0,0,0.7);
box-shadow:0px 1px 3px rgba(0,0,0,0.7);
display:none;
}
#toolpik h3 {margin:10px;}
#toolpik img {
max-width:220px !important;
height:auto !important;
border:none;
display:block;
margin:0px auto 10px;
}
#toolpik table {
width:250px;
background:#ded2d2;
border:none !important;
padding:10px;
}
#toolpik table tr, #toolpik table th {
border:none !important;
background:transparent !important;
}
#toolpik table td {
padding:5px;
border:none !important;
}
#toolpik table td.bold {
font-weight:bold;
width:100px;
}
jQuery
$(document).ready(function() {
$('img').hover(function() {
var title = $(this).attr('title'), //mengambil data dari atribut title
width = $(this).attr('width'), //mengambil data dari atribut width
height = $(this).attr('height'), //mengambil data dari atribut height
src = $(this).attr('src'), //mengambil data dari atribut src
alt = $(this).attr('alt'); //mengambil data dari atribut alt
$('#toolpik').stop(true, true).fadeIn(); //menampilkan #toolpik pada saat gambar disentuh dengan efek fadeIn
//menyisipkan thumbnail gambar dengan URL gambar yang sama dengan gambar yang disentuh pada elemen <div class='thumbnail'>
$('#toolpik .thumbnail').html('<img alt="thumbnail" src="' + src + '" />');
//menyisipkan judul dengan teks yang sama dengan nilai atribut title gambar pada elemen <h3 class='imgTitle'>
$('#toolpik h3.imgTitle').text(title);
//menyisipkan width dengan teks yang sama dengan nilai atribut width gambar pada elemen <td class='imgWidth'>
$('#toolpik td.imgWidth').text(width);
//menyisipkan height dengan teks yang sama dengan nilai atribut height gambar pada elemen <td class='imgHeight'>
$('#toolpik td.imgHeight').text(height);
//menyisipkan URL gambar dan mengubahnya menjadi sebuah link dengan nilai href dan label yang sama dengan nilai atribut src gambar pada elemen <td class='imgUrl'>
$('#toolpik td.imgUrl').html('<a href="' + src + '">' + src + '</a>');
//menyisipkan alt dengan teks yang sama dengan nilai atribut alt gambar pada elemen <td class='imgAlt'>
$('#toolpik td.imgAlt').text(alt);
}, function() {
//menghilangkan #toolpik saat pointer keluar dari gambar dengan efek fadeOut
$('#toolpik').stop(true, true).fadeOut();
}).mousemove(function(e) {
//membuat posisi #toolpik melayang mengikuti pointer mouse
$('#toolpik').css({top:e.clientY - 100, left:e.clientX + 40});
});
});
9 Comments:
Maaf mas Taufik OOT, Habisnya bingung mau tanya dimana lagi.
Ceritanya Saya lagi nyoba bikin TTS dan dah dicoba make generator tts eclipsecrossword. tapi kekurangannya tts yang dihasilkan tidak memiliki nomor mendatar dan menurun seperti layaknya TTS.
Pertanyaanya, bagaimana menambahkan nomor pada tts tersebut.
ini sourcenya http://jsfiddle.net/Satyapradana/5Qp2C/
Mohon bantuannya mas -thnks-
By Satyapradana, at Sunday, October 7, 2012 at 1:20:00 PM GMT+7
tambahan nih mas, mungkin mksd pertanyannya kurang lebih, bagaimana insert nomer pada area tertentu pada tabel menggunakan javascript. Lebih khusus bagaimana menyisipkan nomer pada tts tersebut.
By Satyapradana, at Sunday, October 7, 2012 at 11:55:00 PM GMT+7
"removeAttr" untuk beberapa atribut begini bukan perintahnya mas ?
<i rel="code">
$('.separator a').removeAttr({
'style',
'imageanchor'
});
</code>
saya coba hasilnya "Unexpected token" koreksinya mas hehe
By Nona, at Saturday, April 16, 2016 at 4:05:00 PM GMT+7
eh gini maksutnya
$('.separator a').removeAttr({
'style',
'imageanchor'
});
By Nona, at Saturday, April 16, 2016 at 9:03:00 PM GMT+7
mungkin maksudnya begini
$(".separator a").removeAttr("imageanchor");
$(".separator a img").removeAttr("border");
tapi kalo tujuannya untuk validasi html menurut saya itu percuma, walopun di inspect elemen attribut imageanchor dan border hilang tapi jika di view source browser tetap menampilkan hasil yang sebenarnya. (hehe mohon dikoreksi ulang)
By Unknown, at Wednesday, April 20, 2016 at 2:54:00 AM GMT+7
Iya betul sekali. JavaScript bukan bahasa server-side, jadi percuma saja.
By Taufik Nurrohman, at Saturday, April 23, 2016 at 8:46:00 PM GMT+7
Belum pernah coba, tapi coba begini atau begini:
$('.foo').removeAttr('style imageanchor');
$('.foo').removeAttr(['style', 'imageanchor']);
$('.foo').attr({
'style': null,
'imageanchor': null
});
By Taufik Nurrohman, at Saturday, April 23, 2016 at 8:49:00 PM GMT+7
Gan mau tanya nih, ini kenapa ya kok error terus.
padahal menurut saya udah bener semua tapi masih aja gak work.
intinya saya ingin menggunakan src gambar no.1 untuk gambar no.2 supaya gambarnya bisa sama.
<script>
//<![CDATA[
$(document).ready(function() {
var gambar1 = $(".post-body img");
//untuk mengambil url gambar asli
var gambarasli = gambar1.attr('src');
//gambar pertama
gambar1.attr("src",".../koding/loadimage.jpg");
//gambar kedua asli error disini
gambar2.attr("src", + gambarasli);
});
//]]>
</script>
terima kasih
By Mr. x, at Monday, January 20, 2020 at 10:29:00 PM GMT+7
Hapus simbol +
By Taufik Nurrohman, at Saturday, February 8, 2020 at 10:34:00 PM GMT+7
Post a Comment
<< Home