jquery attr 的字符串操作,对我不起作用
String manipulation of jquery attr, not working for me
jQuery(document).ready(function($){
var image = $('*[data-name="slider_image"]');
image.each(function() {
var source = $(this).find('img').attr('src');
console.log(source);
source.slice(0, -11);
console.log(source);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
我想获取每张图片的href属性,截取最后11个字符。我得到的输出在我应用切片之前和之后完全相同。在Jquery的主页上他们写道attr returns 的数据是一个字符串,所以我看不出问题是什么。我做错了什么?
您需要获取切片方法返回的值并赋值给变量以引用更新后的值。 slice 方法不修改原始字符串
jQuery(document).ready(function($) {
var image = $('*[data-name="slider_image"]');
image.each(function() {
var source = $(this).find('img').attr('src');
console.log(source);
var modified = source.slice(0, -11);
snippet.log(source + ':' + modified);
});
});
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div data-name="slider_image">
<img src="//placehold.it/64X64&text=text01234567890" />
</div>
<div data-name="slider_image">
<img src="//placehold.it/64X64&text=text01234567890" />
</div>
<div data-name="slider_image">
<img src="//placehold.it/64X64&text=text01234567890" />
</div>
source.slice(0, -11)
不修改原始输入source
尝试:
var tmp = source.slice(0, -11);
console.log(tmp);
而不是:
source.slice(0, -11);
console.log(source);
做:
console.log(source.slice(0, -11));
或将其存储在变量中:
var output=source.slice(0, -11);
console.log(output);
jQuery(document).ready(function($){
var image = $('*[data-name="slider_image"]');
image.each(function() {
var source = $(this).find('img').attr('src');
console.log(source);
source.slice(0, -11);
console.log(source);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
我想获取每张图片的href属性,截取最后11个字符。我得到的输出在我应用切片之前和之后完全相同。在Jquery的主页上他们写道attr returns 的数据是一个字符串,所以我看不出问题是什么。我做错了什么?
您需要获取切片方法返回的值并赋值给变量以引用更新后的值。 slice 方法不修改原始字符串
jQuery(document).ready(function($) {
var image = $('*[data-name="slider_image"]');
image.each(function() {
var source = $(this).find('img').attr('src');
console.log(source);
var modified = source.slice(0, -11);
snippet.log(source + ':' + modified);
});
});
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div data-name="slider_image">
<img src="//placehold.it/64X64&text=text01234567890" />
</div>
<div data-name="slider_image">
<img src="//placehold.it/64X64&text=text01234567890" />
</div>
<div data-name="slider_image">
<img src="//placehold.it/64X64&text=text01234567890" />
</div>
source.slice(0, -11)
不修改原始输入source
尝试:
var tmp = source.slice(0, -11);
console.log(tmp);
而不是:
source.slice(0, -11);
console.log(source);
做:
console.log(source.slice(0, -11));
或将其存储在变量中:
var output=source.slice(0, -11);
console.log(output);