jQueryを使用して画像のsrc属性にアクセスします
解決
var source = $('img').attr('src');
.
テストされていない、そしてそれほど効率的ではなく、このようなものはうまくいくかもしれません、いくらかの微調整が必要な場合があります。
var images = [], source="";
$('#slider1').bxSlider({
pager: true,
onBeforeSlide: function(currentSlide, totalSlides){
$('img', this).each(function() {
images.push(this);
});
source = $(images[currentSlide]).attr('src');
}
});
alert(source);
.
マクロが正しい場合は、次のようになります。
$('#slider1').bxSlider({
pager: true,
onBeforeSlide: function(currentSlide, totalSlides, SlideObject){
source = SlideObject.attr('src');
}
});
alert(source);
. 他のヒント
OnBeforesLide / OnAfterSlideは両方とも以下の同じシグニチャを使用し、3RDパラメータのスライドオブジェクトにアクセスできます。このからスライドの内容の詳細を取得できます。
function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject){
// perform actions here
}
. jQuery要素の属性を取得するには、これを使用できます。
$('.selector').attr(attrName);
.
あなたの場合、このようなもの...
$('.slider1 .left').find('img').attr('src');
.
またはその他の点にさらに:
jQuery('#slider1').find('li.pager:nth-child(currentSlide)').attr('src');
.
あなたは自分で最もエレガントな方法を見つける必要がありますが、.attr(attrName)
を使用していることを示唆しているすべての回答は正しいです、あなたは正しい要素セレクタを見つける必要があります。
実際のHTMLマークアップに依存するが、スライドを作成するためにli
要素を使用していると仮定すると、次にトリックを実行する必要があります(Slider1はコンテナOL / UL ID)
$($('#slider1 li')[currentSlide - 1]).find('img').attr('src');
.
本質的に、インデックス(CurrentSlide-1)を使用してスライド(LI)要素を見つけてから、スライド内でイメージを見つけてソース属性を取得します。さて、スライド内に複数の画像がある場合は、上の上には期待どおりに機能しない可能性があります。
これを試してみるかもしれません
document.getElementById("currentSlide_id").src;
var src= $('currentSlide_id').attr('src')
. についてはどうですか
$('#sliderContainer').children().eq(currentSlide).find('img').attr('src')
.
リンクされた例では、これはです
$('#slider1').children().eq(currentSlide).find('img').attr('src')
. 所属していません StackOverflow