我有一些使用PHP创建的div.div中的锚点总是有一个HREF,即使它是空白的.基本上,我试图检测HREF是否为空白.如果它有内容,则不执行任何操作,如果它为空白,则删除文本,删除锚点,然后将文本放回原位.
这是div:
<div class="title">
<a class="article" href="">Lorem Ipsum</a>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
jQuery(document).ready(function($) { //required for $ to work in Wordpress
$(".article").each(function(){
if ($(this).attr('href') !== undefined) {
return;
} else {
var linkTitle = $(this).html();
$(this).parent().empty().html(linkTitle);
}
});
//-->
});
Run Code Online (Sandbox Code Playgroud) 这段代码有什么问题?我试图获得这种效果:fadeOut(500)
并且attr('class','myClass')
延迟了600毫秒..然后delay(600)
再次,和fadeIn(500)
.延迟发生正确,但attr()
不会延迟,它会在#myDiv
褪色时触发!:'(
$('#myDiv').fadeOut(500)
.delay(600)
.attr('class','myClass')
.delay(600)
.fadeIn(500);
Run Code Online (Sandbox Code Playgroud) 我有一些链接通过JSON动态放置在我的页面中,无法直接编辑它们.我想强制所有链接在新标签中打开,alatarget="_blank"
认为这会起作用..但遗憾的是它不是.有任何想法吗?
$('a').attr("target","_blank");
Run Code Online (Sandbox Code Playgroud)
这是一个动态代码的jsFiddle:http: //jsfiddle.net/danielredwood/mrgta/7/
在我完成网站之后我遇到了这个问题,因为我必须在基于ajax的页面中实现历史记录(这需要用html更新某些地方(包括带有简单文本输入的表单- 这就是问题所在 - 他们没有得到它们的值被赋值,因为它们的值由val()而不是由attr()设置 - 谎言)).我注定要替换所有的javascript
$('#xxx').val('someValue');
Run Code Online (Sandbox Code Playgroud)
至
$('#xxx').attr('value', 'someValue');
Run Code Online (Sandbox Code Playgroud)
还是有希望绕过这个?
一个漂亮的简单的例子在这里.正如您在对话框中看到的,属性值未在html代码中设置.
我正在阅读"jQuery Pocket Reference"一书,O'Reilly,2011在第15页,它说
'例如,调用attr("css",{backgroundColor:"gray"})与调用css({backgroundColor:"gray"})相同.
但我无法使attr("css",{})起作用.我的测试代码:http://jsfiddle.net/4UMN3/4/
$(function() {
$("#btnChangeColor").click(function () {
$("#spanText").attr("css", { backgroundColor: "gray" });
});
});
Run Code Online (Sandbox Code Playgroud)
css()方法工作正常,http://jsfiddle.net/4UMN3/5/
谢谢
我有一个自定义视图,扩展了其中一个框架类.View
Android中的大多数s都为它们定义了一些默认属性(例如Button
可点击,由设置android:clickable="true"
).
如何为自定义视图提供应用程序范围的默认值?
我正在阅读初学Android 4开发,在第5章中它讨论了Gallery和ImageVievs,并介绍了声明式样式的 XML标签,但没有解释其目的.我试图在参考上找到一些信息,没有运气..例如我们有以下内容:
RES /值/ attrs.xml
<?xml version=”1.0” encoding=”utf-8”?>
<resources>
<declare-styleable name=”Gallery1”>
<attr name=”android:galleryItemBackground” />
</declare-styleable>
</resources>
Run Code Online (Sandbox Code Playgroud)
example.java
public class GalleryActivity extends Activity {
[...]
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Gallery gallery = (Gallery) findViewById(R.id.gallery1);
gallery.setAdapter(new ImageAdapter(this));
[...]
}
[...]
public class ImageAdapter extends BaseAdapter {
[...]
int itemBackground;
public ImageAdapter(Context c) {
context = c;
//---setting the style---
TypedArray a = obtainStyledAttributes(
R.styleable.Gallery1);
itemBackground = a.getResourceId(
R.styleable.Gallery1_android_galleryItemBackground, 0);
a.recycle();
}
public View …
Run Code Online (Sandbox Code Playgroud) 在我的TypedArray.getDrawable()
一个自定义中,我遇到了一个奇怪的问题View
.为简单起见,这是一个显示同样问题的简单测试项目:
TestView.java
package com.example.testing;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
public class TestView extends View {
private Drawable mDrawable;
public TestView(Context context) {
this(context, null);
}
public TestView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public TestView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.TestView, defStyle, 0);
try {
Drawable d = a.getDrawable(R.styleable.TestView_testDrawable);
if (d != null) {
setDrawable(d);
}
} finally { …
Run Code Online (Sandbox Code Playgroud) 我无法想出这个.根据W3 Schools,checked属性设置或返回复选框的选中状态.
那为什么不起作用$('input').checked ? $('div').slideDown() : $('div').slideUp();
?
然而,使用道具确实有效.
$('input').prop('checked') ? $('div').slideDown() : $('div').slideUp();
这是针对根据数据库值检查的复选框.
好吧,如果我错了,请纠正我,但我认为jQuery attr()
在IE中不起作用.(标记为wontfix)既然如此,最好的选择是什么?例如,这适用于IE,
jQuery(document).ready(function($) {
$('.airsrc').each(function() {
var $this = $(this);
var src = $this.attr('data-websrc');
$this.attr('src', src);
});
});
Run Code Online (Sandbox Code Playgroud)
更新:哎呀...我意识到了这个问题.我实际上在if
基于CSS3媒体查询的声明中有这个.IE8或更低版本本身不支持的媒体查询.在attr()
肯定能行!