Src ve data-src öznitelikleri arasındaki tüm farklar nelerdir?


103

Ya ya data-srcda etiket srcözniteliğini kullanmanın farklılıkları ve sonuçları (hem iyi hem de kötü) imgnelerdir? Her ikisini de kullanarak aynı sonuçları elde edebilir miyim? Varsa, her biri ne zaman kullanılmalıdır?

Yanıtlar:


176

Öznitelikler srcve data-srcortak hiçbir yanı yoktur, ancak ikisine de HTML5 CR tarafından izin verilir ve her ikisi de harfleri içerir src. Diğer her şey farklı.

srcNitelik HTML özellikleri tanımlanmış ve fonksiyonel bir anlam vardır.

data-srcÖzelliği, sadece sonsuz bir dizi biridir data-*bir anlamı tanımlanan ancak komut dosyası (ya da stil) kullanım için bir eleman görünmez verileri dahil etmek için kullanılan bir nitelik,.


1
Angular.js, modele dayalı olarak URL'lerin geç bağlanması için data-src'yi de kullanır
Jeff

Net cevap için teşekkürler :) jQuery.lazy'i kullanmak üzereydim ve scr'lerin ne olduğundan emin değildim
Timothy

19

Görüntünün belirli bir görüntüyü yüklemesini ve görüntülemesini istiyorsanız, .srco görüntü URL'sini yüklemek için kullanın .

Bir URL içerebilecek bir meta veri parçası (herhangi bir etiket üzerinde) istiyorsanız , o zaman data-srcveya data-xxxseçmek istediğiniz herhangi birini kullanın.

Data-xxxx öznitelikleriyle ilgili MDN belgeleri: https://developer.mozilla.org/en-US/docs/DOM/element.dataset

srcGörüntünün sizin için JPEG'i yüklediği ve görüntülediği bir görüntü etiketi örneği :

<img id="myImage" src="http://mydomain.com/foo.jpg">

<script>
    var imageUrl = document.getElementById("myImage").src;
</script>

Görüntünün henüz yüklenmediği, görsel olmayan bir etiket üzerindeki 'data-src' örneği - bu, div etiketindeki bir meta veri parçasıdır:

<div id="myDiv" data-src="http://mydomain.com/foo.jpg">

<script>
    // in all browsers
    var imageUrl = document.getElementById("myDiv").getAttribute("data-src");

    // or in modern browsers
    var imageUrl = document.getElementById("myDiv").dataset.src;
</script>

data-srcAlternatif bir resmin URL'sini depolamak için yer olarak kullanılan bir resim etiketi örneği :

<img id="myImage" src="http://mydomain.com/foo.jpg" data-src="http://mydomain.com/foo.jpg">

<script>
    var item = document.getElementById("myImage");
    // switch the image to the URL specified in data-src
    item.src = item.dataset.src;
</script>

4

İlki <img />geçersiz - srcgerekli bir özelliktir. data-srcdiyelim ki JavaScript tarafından kullanılabilecek bir özelliktir, ancak sunumsal anlamı yoktur.


3
@ AdamPierzchała Ana fikir aynı - bu soruda "ya / ya da" yok; srcdahil edilmelidir. data-Bir komut dosyası dili için (JavaScript gibi) yararlanılacak fazladan veri eklemek için öznitelikleri kullanırsınız .
Tieson T.

4

data-src özniteliği, HTML5'te tanıtılan veri- * öznitelikleri koleksiyonunun bir parçasıdır. data-src, tarayıcı için bir anlamı olmayan ancak Javascript Kodu veya CSS kuralları tarafından kullanılabilen fazladan verileri depolamamıza izin verir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.