我使用以下jquery代码来获取SVG元素的宽度,然后单击它并将其写入控制台。我在控制台上什么也没得到,但也没有错误。我在想这是因为我没有正确地将id传递给jquery选择器。虽然不太确定。以下是代码:
$("svg").one("click", function() {
if (this.id != 'main_svg') {
a1 = this.id;
console.log($(a1).width());
$('svg').unbind('click');
console.log(a1);
getdiv2();
}
});
答案 0 :(得分:1)
试试这个:
$("svg").one("click", function() {
if( $(this).attr("id") != 'main_svg' ){
a1=$(this).attr("id");
console.log($(this).css("width"));
$('svg').unbind('click');
console.log(a1);
getdiv2();
}
});
答案 1 :(得分:1)
$("svg").one("click", function() {
if (this.id != 'main_svg') {
a1 = this.id;
console.log($('#' + a1).width());
$(this).unbind('click');
console.log(a1);
//getdiv2();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<svg width="100" height="100" id=main_svg>
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>
<svg width="200" height="200" id=second_svg>
<circle cx="60" cy="60" r="60" stroke="red" stroke-width="4" fill="blue" />
</svg>
<svg width="200" height="200" id="third_svg">
<circle cx="30" cy="30" r="30" stroke="purple" stroke-width="2" fill="orange" />
</svg>
只需在'#'
之前添加id
即可。使用$('#' + a1).width()
。您已经使用.one()
表示它只会触发一次,因此无需使用.unbind('click')
$("svg").one("click", function() {
if (this.id != 'main_svg') {
a1 = this.id;
console.log($('#' + a1).width());
$(this).unbind('click');
console.log(a1);
getdiv2();
}
});
答案 2 :(得分:1)
labels = np.asarray([[1,2,3],[4,5,6]])
...
def _int64_feature(value):
return tf.train.Feature(int64_list=tf.train.Int64List(value=value))
...
'label': _int64_feature(labels[index]),