apa fungsi parameter di dalam fungsi ini?

Kenapa parameter i sangat berpengaruh terhadap hasilnya?


  <a href="http://sekolahkoding.com">Sekolah Koding</a>
<button class="btn">Change</button>
<p></p>

<script src="jquery.js"></script>
<script>
	$(".btn").click(function(){
		$("a").attr("href", function(i, asli){
			return asli+"/forum";
		});
		$("p").text($('a').attr("href"));
	});
</script> // INI HASILNYA http://www.sekolahkoding.com/forum

tapi kalo parameter i tidak di pakai kenapa bisa beda hasilnya?


  <a href="http://sekolahkoding.com">Sekolah Koding</a>
<button class="btn">Change</button>
<p></p>

<script src="jquery.js"></script>
<script>
	$(".btn").click(function(){
		$("a").attr("href", function(asli){
			return asli+"/forum";
		});
		$("p").text($('a').attr("href"));
	});
</script> // INI HASILNYA 0/forum

Saya minta tolong kpd mastah2 di sini untuk menjelaskan hal tersebut, saya bingung nih... :D

avatar iamfreestyler
@iamfreestyler

341 Kontribusi 57 Poin

Diperbarui 6 tahun yang lalu

7 Jawaban:

Coba .. dulu.. walaupun tanpa dijelaskan nanti pasti paham...

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">

    $(document).ready(function(){

        $(".btn").click(function(){
            // struktur =>  function (index, value)
            // i => artinya index (dan gk harus ditulis i),,, urutan juga boleh / donat.. hehe itu enak ..
            $("a").attr("href", function(urutan, asli){
                $(this).html(asli);
            });
        });

 });

    </script>

<a href="http://sekolahkoding.com">Sekolah Koding</a><br>
<a href="http://sekolahlain.com">Sekolah Lain</a><br>
<button class="btn">Lihat tujuan Masing2 link diatas</button>

Memang Harus Kritis kalau mau jd programmer... good luck bro... I hope this helps (^_^)/..

avatar ciloxz
@ciloxz

284 Kontribusi 139 Poin

Dipost 6 tahun yang lalu

saya juga bingung, itu index refer kemana sih ?

avatar timelord
@timelord

140 Kontribusi 86 Poin

Dipost 6 tahun yang lalu

bingung saya, biasanya kan klo kita ngasih parameter itu harus kita isi argunetnya juga ya misal :


   function salam(nama) {
      console.log("Hallo "+nama);
   }
   salam("irman");

kalo nama kosong ya jadi undefined

avatar iamfreestyler
@iamfreestyler

341 Kontribusi 57 Poin

Dipost 6 tahun yang lalu

Aturan Metode attr() (JQUERY)

1. Mengambil nilai sebuah attribut

Aturan Penulisan :
    $(selector).attr(attribute);

Kasus :
    Ambil attribut width dari tag <img>
    <img width ='300' src="image.jpg">

solusi :
    $('img').attr('width');

output : 300

2. Memberikan nilai (value) pada attribut tertentu

Aturan Penulisan :
    $(selector).attr(attribute, value);

Kasus :
    Atur Lebar dari gambar menjadi 500 px
    <img width ='300' src="image.jpg">

solusi :
    $('img').attr('width','500');

output : <img width ='500' src="image.jpg">

3. Memberikan nilai (value) pada attribut tertentu dengan Menggunakan fungsi

Aturan Penulisan :
    $(selector).attr(attribute, function(index, value){
        return value
    });

Kasus :
    Atur Lebar untuk gambar ke 1 => 500 , selain itu => 1000
    <img width ='300' height='300' src="image-1.jpg">
    <img width ='300' height='300' src="image-2.jpg">
    <img width ='300' height='300' src="image-3.jpg">

solusi :
    $(".btn").click(function(){
        $('img').attr('width', function(index, value){
            if(index == 0) { //jika index = 0 => artinya ('img') ke 1
                return 500;
            }else{
                return 1000;
            }
        });
    });

output :
    <img width ='500' height='300' src="image-1.jpg"> // index 0
    <img width ='700' height='300' src="image-2.jpg"> // dst
    <img width ='700' height='300' src="image-3.jpg">

4. Memberikan nilai (value) pada BEBERAPA attribute tertentu

Aturan Penulisan :
    $(selector).attr({
        'attribute_1' : value ,
        'attribute_2' : value ,
        //dst
    });

Kasus :
    Atur Lebar untuk gambar => 1000 dan tinggi => 500
    <img width ='300' height='300' src="image.jpg">

solusi :
    $(".btn").click(function(){
         $('img').attr({
            'width'  : 100,
            'height' : 500
         });
    });

output :
    <img width ='1000' height='500' src="image-1.jpg">

saran pahami sintak dasar,, kalau masalah paramater pada fungsi ya semuanya sama..

Tapi kalau kita pake Jquery.. kita harus mengikuti aturan Si JQuery.. kita tidak bisa kreatif / buat aturan sendiri kecuali .. kita buat sebuah fungsi sendiri yg didalamnya terdapat gabungan2 fungsi / metode dari jquery yg lain baru kita bisa kreatif.. ngatur parameter dll..

javascript (contoh function salam()) dan jquery,,(kasus agan) beda..

why ?? karena jQuery pd dasarnya adalah "FUNGSI BUATAN" yg menggunakan dasar javascript.. yg dibuat oleh JOHN RESIK resik omah.. hehe

Semoga Jelas dan Membantu... (^_^)/

avatar ciloxz
@ciloxz

284 Kontribusi 139 Poin

Dipost 6 tahun yang lalu

Luar biasa....

avatar iamfreestyler
@iamfreestyler

341 Kontribusi 57 Poin

Dipost 6 tahun yang lalu

saya baca dokumentasinya jquery tentang attr menggunakan fungsi, agak kurang bisa saya pahami. btw thx gan memberikan pencerahan juga buat saya :) coto for you !

avatar timelord
@timelord

140 Kontribusi 86 Poin

Dipost 6 tahun yang lalu

@time lord ... theenk kyuu..laper gan... enak coto kayaknya.....hehe.. @irmanfreestyle.. biasa di luar.. hehehe..

avatar ciloxz
@ciloxz

284 Kontribusi 139 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban